


Melaksanakan fungsi muat naik fail berdasarkan nodejs express(4.x)_node.js
Nodejs ialah rangka kerja pengaturcaraan muda, penuh dengan daya hidup dan semangat tanpa had, dan sentiasa dikemas kini dengan pantas. Express, perpustakaan pembangunan web rasmi berdasarkan Nodejs, juga sedang dibangunkan secara serentak, dengan peningkatan versi utama setiap tahun dan juga pembedahan besar pada lapisan bawah rangka kerja. Dalam Express4, sambungan perpustakaan middleware telah digantikan dengan berbilang perpustakaan yang lebih halus. Faedah yang jelas ialah perisian tengah ini boleh dikemas kini dan dikeluarkan dengan lebih bebas dan tidak akan terjejas oleh kitaran keluaran Ekspres tetapi masalahnya juga sangat sukar dengan versi sebelumnya, dan menaik taraf bermakna mengubah suai kod.
Selepas tempoh penyelidikan dan penerokaan, saya mendapati bahawa cara untuk mencapai muat naik ialah: 1. modul multer middleware ekspres (ini adalah yang paling cekap, disokong secara asli dalam express3.x, dan menjadi modul bebas dalam express4.x ), 2. modul sambung-berbilang pihak (tetapi ia tidak disyorkan secara rasmi sekarang), 3. Gunakan modul berbilang pihak untuk melaksanakan (kaedah ini lebih biasa), 4. Gunakan pemalam yang menggerunkan untuk melaksanakan (pemalam ialah ringkas dan mudah difahami);
Cara paling mudah ialah memuat naik melalui perisian tengah "sambung-berbilang pihak".
Pasang dengan npm install connect-multiparty dalam projek.
Penggunaan:
var multipart = require('connect-multiparty'); var multipartMiddleware = multipart(); app.post('/upload', multipartMiddleware, function(req, resp) { console.log(req.body, req.files); // don't forget to delete all req.files when done });
Hanya alihkan dan namakan semula fail sementara ke direktori sebenar di tempat yang diulas untuk melengkapkan fungsi muat naik.
Mudah.
Alamat rasmi:
https://www.npmjs.com/package/connect-multiparty
Walau bagaimanapun, pegawai tidak mengesyorkan menggunakan middleware ini Adalah disyorkan untuk menggunakan "multiparty" secara langsung kerana pengendalian ralat lebih menyusahkan.
Mari gunakan "berbilang pihak" untuk melaksanakan versi.
1. Gunakan ekspres (versi 4.11.x) untuk mencipta projek, menggunakan jed lalai sebagai enjin templat.2. Dalam direktori projek, pasang komponen yang diperlukan melalui npm install multiparty.
3. Ubah suai view/index.jade dan buat borang mudah untuk muat naik fail seperti berikut.
extends layout block content form(method='post', action='/file/uploading', enctype='multipart/form-data') input(name='inputFile', type='file', multiple='mutiple') input(name='btnUp', type='submit',value='上传')
var express = require('express'); var router = express.Router(); var multiparty = require('multiparty'); var util = require('util'); var fs = require('fs'); /* 上传页面 */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); /* 上传*/ router.post('/file/uploading', function(req, res, next){ //生成multiparty对象,并配置上传目标路径 var form = new multiparty.Form({uploadDir: './public/files/'}); //上传完成后处理 form.parse(req, function(err, fields, files) { var filesTmp = JSON.stringify(files,null,); if(err){ console.log('parse error: ' + err); } else { console.log('parse files: ' + filesTmp); var inputFile = files.inputFile[]; var uploadedPath = inputFile.path; var dstPath = './public/files/' + inputFile.originalFilename; //重命名为真实文件名 fs.rename(uploadedPath, dstPath, function(err) { if(err){ console.log('rename error: ' + err); } else { console.log('rename ok'); } }); } res.writeHead(, {'content-type': 'text/plain;charset=utf-'}); res.write('received upload:\n\n'); res.end(util.inspect({fields: fields, files: filesTmp})); }); }); module.exports = router;

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Express dan Laravel ialah dua rangka kerja web yang sangat popular, masing-masing mewakili rangka kerja cemerlang dua bahasa pembangunan utama JavaScript dan PHP. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini untuk membantu pembangun memilih rangka kerja yang lebih sesuai untuk keperluan projek mereka. 1. Pengenalan Rangka Kerja Express ialah rangka kerja aplikasi web berdasarkan platform Node.js Ia menyediakan satu siri fungsi dan alatan berkuasa yang membolehkan pembangun membina aplikasi web berprestasi tinggi dengan cepat. Ekspres

Perbandingan mendalam Express dan Laravel: Bagaimana untuk memilih rangka kerja terbaik? Apabila memilih rangka kerja belakang yang sesuai untuk projek anda, Express dan Laravel sudah pasti dua pilihan popular di kalangan pembangun. Express ialah rangka kerja ringan berdasarkan Node.js, manakala Laravel ialah rangka kerja popular berdasarkan PHP. Artikel ini akan memberikan perbandingan yang mendalam tentang kelebihan dan kekurangan kedua-dua rangka kerja ini dan menyediakan contoh kod khusus untuk membantu pembangun memilih rangka kerja yang paling sesuai dengan keperluan mereka. Prestasi dan kebolehskalaanExpr

Bagaimanakah node express mengendalikan kuki? Artikel berikut akan memperkenalkan kepada anda cara menggunakan nod untuk mengendalikan kuki saya harap ia akan membantu anda!

Express vs. Laravel: Membandingkan kebaikan dan keburukan, yang manakah akan anda pilih? Dalam bidang pembangunan web, Express dan Laravel adalah dua rangka kerja yang telah menarik perhatian ramai. Express ialah rangka kerja aplikasi web yang fleksibel dan ringan berdasarkan Node.js, manakala Laravel ialah rangka kerja pembangunan web yang elegan dan kaya dengan ciri berdasarkan PHP. Artikel ini akan membandingkan kelebihan dan kekurangan Express dan Laravel dari segi kefungsian, kemudahan penggunaan, kebolehskalaan dan sokongan komuniti, serta menggabungkan

Cara menggunakan React dan Express untuk membina aplikasi JavaScript tindanan penuh Pengenalan: React dan Express pada masa ini merupakan rangka kerja JavaScript yang sangat popular, masing-masing digunakan untuk membina aplikasi bahagian hadapan dan belakang. Artikel ini akan memperkenalkan cara menggunakan React dan Express untuk membina aplikasi JavaScript tindanan penuh. Kami akan menerangkan langkah demi langkah cara membina aplikasi TodoList yang mudah dan memberikan contoh kod khusus. 1. Persediaan sebelum bermula

Cara menggunakan Node.js untuk membina sistem blog ringkas Node.js ialah persekitaran masa jalan JavaScript berdasarkan enjin ChromeV8, yang boleh menjadikan JavaScript berjalan dengan lebih cekap. Dengan bantuan Node.js, kami boleh membina aplikasi sisi pelayan yang berkuasa menggunakan JavaScript, termasuk sistem blog. Artikel ini akan memperkenalkan anda kepada cara menggunakan Node.js untuk membina sistem blog ringkas dan memberikan anda contoh kod khusus. Sila tekan

Apabila ia datang untuk memilih rangka kerja bahagian belakang, kedua-dua Express dan Laravel adalah pilihan yang sangat popular. Express ialah rangka kerja pembangunan aplikasi web berdasarkan Node.js, manakala Laravel ialah rangka kerja pembangunan aplikasi web berdasarkan PHP. Kedua-duanya mempunyai kelebihan mereka sendiri, dan memilih rangka kerja yang paling sesuai dengan anda memerlukan mempertimbangkan banyak faktor. Kekuatan rangka kerja Express adalah kelenturan dan keluk pembelajaran yang mudah. Idea teras Express ialah "cukup kecil dan cukup fleksibel", dan ia menyediakan sejumlah besar perisian tengah
