Contoh Nodejs ini membantu mengunggah file menggunakan multer framework dan MySQL. Saya akan membuat template untuk mengunggah file menggunakan ejs. MySQL digunakan untuk menyimpan file dan informasi ke dalam database Show
Ini adalah fitur yang sangat umum yang dimiliki setiap aplikasi. Anda dapat menggunakan unggahan file untuk gambar, pdf, excel, atau dokumen apa pun Multer adalah sebuah simpul. js middleware untuk menangani multipart/form-data, yang terutama digunakan untuk mengunggah file. Anda dapat mengunggah satu atau beberapa file menggunakan multer. Sangat mudah dan sederhana untuk diintegrasikan dengan nodejs Kami akan mencapai fungsi berikut dalam aplikasi ini
Lihat tutorial NodeJS Lainnya,
File dan folder berikut akan berpartisipasi dalam aplikasi ini
Unggah File Tunggal/Banyak Menggunakan Multer dan MySQLMari terapkan unggahan file nodejs dengan multer dan MySQL. Saya berasumsi Anda memiliki nodejs > 6 dan npm > 5. Anda juga memiliki server MySQL. Mari buat folder Buat tabel MySQL Ke DatabaseSekarang buka bahasa query MySQL, Kami akan membuat tabel file menggunakan skrip sql di bawah ini. File ini akan memiliki kolom nama, jenis, deskripsi, dan ukuran -- -- Table structure for table `file` -- CREATE TABLE `file` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `description` text NOT NULL, `type` varchar(100) NOT NULL, `size` int(11) NOT NULL, `updated_by` varchar(255) NOT NULL, `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Instal Ketergantungan yang Diperlukan untuk Pengunggahan FileBuat file { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }_ Jalankan perintah di bawah ini untuk menginstal dependensi { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }_2
Unggah File HTML Menggunakan BootstrapSaya menggunakan bootstrap 3 untuk membuat tampilan file unggahan yang mengagumkan, mari buat folder tampilan di bawah aplikasi nodejs dan file { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }4, Kami akan menambahkan kode di bawah ini ke dalam file ini <div id="mainform" class="container col-sm-12"> <div id="signupbox" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2" style="margin-top: 50px;"> <div class="panel panel-info"> <div class="panel-heading"> <div class="panel-title">Upload Image</div> </div> <div class="panel-body"><form class="form-horizontal" role="form" action="/api/v1/upload" enctype="multipart/form-data" method="post"><% if (message.length > 0) { %> <div class="alert alert-<%= status %> col-sm-12"><%= message %></div> <% } %> <div class="form-group"><label class="col-md-3 control-label" for="image">Profile Image</label> <div class="col-sm-9"><input class="form-control" accept="" name="profile" type="file"></div> </div> <div class="form-group"><!-- Button --> <div class="col-md-offset-3 col-md-9"><button id="btn-signup" class="btn btn-info" type="submit"><i class="icon-hand-right"></i> Upload</button></div> </div> </form></div> </div> </div> </div> Kami telah membuat formulir HTML dan menambahkan tindakan '/api/v1/unggah', yang akan digunakan titik akhir saat formulir HTML akan diposkan Anda akan mendapatkan data formulir ke dalam { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }_5 titik akhir, Mari buat API istirahat ini ke dalam file app.js Buat Aplikasi Node dan Mulai Server EkspresBuat aplikasi nodejs dan server ekspres var express = require('express') , routes = express.Router() , http = require('http') , path = require('path') , app = express() , multer = require('multer') , mysql = require('mysql') , bodyParser=require("body-parser"); const DIR = './uploads'; var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'test' }); connection.connect(); global.db = connection; let storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, DIR); }, filename: function (req, file, cb) { cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname)); } }); let upload = multer({storage: storage}); // all environments const PORT = process.env.PORT || 8010; app.set('port', process.env.PORT || 8080); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(express.static(path.join(__dirname, 'public'))); app.listen(PORT, function () { console.log('Node.js server is running on port ' + PORT); }); //Middleware app.listen(8080) Kami telah menyertakan semua informasi paket dan membuat objek. Objek konfigurasi MySQL memerlukan nama host MySQL, nama pengguna, sandi, dan nama database Kami telah menentukan folder tujuan file upload adalah 'uploads/'. File ejs akan disimpan ke dalam folder { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }7 Kami membuat nama file baru menggunakan nama file yang diunggah dan stempel waktu saat ini Sekarang jalankan { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }_8, Anda akan mendapatkan server aplikasi berjalan di { "name": "nodejs-upload-image-mysql-multer", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": { "name": "Adam", "email": "[email protected]", "url": "https://www.js-tutorials.com/" }, "license": "MIT", "dependencies": { "body-parser": "^1.16.1", "ejs": "^2.5.6", "express": "^4.14.1", "multer": "^1.3.1", "mysql": "^2.13.0" }, "devDependencies": { "nodemon": "^1.18.4" } }9 Render tampilan template ejs Menggunakan RouterMari buat rute indeks, yang akan menampilkan tampilan pengunggahan file saat memuat aplikasi <div id="mainform" class="container col-sm-12"> <div id="signupbox" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2" style="margin-top: 50px;"> <div class="panel panel-info"> <div class="panel-heading"> <div class="panel-title">Upload Image</div> </div> <div class="panel-body"><form class="form-horizontal" role="form" action="/api/v1/upload" enctype="multipart/form-data" method="post"><% if (message.length > 0) { %> <div class="alert alert-<%= status %> col-sm-12"><%= message %></div> <% } %> <div class="form-group"><label class="col-md-3 control-label" for="image">Profile Image</label> <div class="col-sm-9"><input class="form-control" accept="" name="profile" type="file"></div> </div> <div class="form-group"><!-- Button --> <div class="col-md-offset-3 col-md-9"><button id="btn-signup" class="btn btn-info" type="submit"><i class="icon-hand-right"></i> Upload</button></div> </div> </form></div> </div> </div> </div>0Iklan message ='' app.get('/', function(req, res) { res.render('index', message); }); API Unggah File TunggalMari buat API untuk mengunggah satu file ke dalam file app.post('/api/v1/upload',upload.single('profile'), function (req, res) { message : "Error! in image upload." if (!req.file) { console.log("No file received"); message = "Error! in image upload." res.render('index',{message: message, status:'danger'}); } else { console.log('file received'); console.log(req); var sql = "INSERT INTO `file`(`name`, `type`, `size`) VALUES ('" + req.file.filename + "', '"+req.file.mimetype+"', '"+req.file.size+"')"; var query = db.query(sql, function(err, result) { console.log('inserted data'); }); message = "Successfully! uploaded"; res.render('index',{message: message, status:'success'}); } }); Saat mengupload file, Kami menyimpan informasi file yang diupload ke dalam database dan mengirimkan pesan sukses, jika file kosong atau tidak diupload, maka Anda akan mendapatkan pesan error Bagaimana cara mengunggah PDF dalam basis data menggunakan node js?Simpul. js Unggah File . Langkah 1. Buat Formulir Unggah. Buat Node. js yang menulis formulir HTML, dengan bidang unggahan. . Langkah 2. Parse File yang Diunggah. Sertakan modul Tangguh untuk dapat mengurai file yang diunggah setelah mencapai server. . Langkah 3. Simpan File Bagaimana cara menyimpan file PDF di database MySQL?MySQL memiliki tipe data BLOB yang dapat digunakan untuk menyimpan file seperti. pdf,. jpg,. . 'Indo'. ketik INTEGER 'Nama Proyek'. ketik TEKS 'pdf_doc'. ketik BLOB Bagaimana cara menyimpan file di database MySQL menggunakan Node js?Unggah/simpan gambar di MySQL menggunakan Node. . Node. js unggah/simpan gambar di ikhtisar MySQL Setel Node. modul js Konfigurasi database MySQL & Sequelize Inisialisasi Sekuel Tentukan Model Sekuelisasi Buat middleware untuk mengunggah dan menyimpan gambar Buat Pengontrol untuk mengunggah Gambar Bisakah Anda menyimpan PDF dalam database SQL?Alih-alih tabel jenis ini disebut tabel file. Menggunakan tabel file, dokumen atau PDF apa pun atau dalam hal ini file apa pun dapat disimpan di SQL Server . |