Rumah hujung hadapan web tutorial js Melaksanakan fungsi muat naik fail berdasarkan nodejs express(4.x)_node.js

Melaksanakan fungsi muat naik fail berdasarkan nodejs express(4.x)_node.js

May 16, 2016 pm 03:30 PM
express

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 
});
Salin selepas log masuk
Selepas memuat naik, fail yang dimuat naik akan menjana fail sementara dalam direktori sementara Anda boleh mencetak req.files untuk melihat laluan fail tertentu.

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='上传')
Salin selepas log masuk
4. Ubah suai route/index.js untuk melaksanakan kod latar belakang untuk memuat naik halaman dan memuat naik respons.

 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;
Salin selepas log masuk
Selesai. Ini melengkapkan pengenalan kepada fungsi muat naik fail berdasarkan nodejs express (4.x) saya harap ia akan membantu semua orang untuk mempelajari pengetahuan berkaitan nodejs.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Mar 28, 2023 pm 07:28 PM

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!

Analisis perbandingan Express dan Laravel: Pilih rangka kerja yang lebih sesuai dengan anda Analisis perbandingan Express dan Laravel: Pilih rangka kerja yang lebih sesuai dengan anda Mar 10, 2024 pm 10:15 PM

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? Perbandingan mendalam Express dan Laravel: Bagaimana untuk memilih rangka kerja terbaik? Mar 09, 2024 pm 01:33 PM

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

Mari kita bincangkan tentang cara node express mengendalikan kuki Mari kita bincangkan tentang cara node express mengendalikan kuki Jun 22, 2022 am 10:01 AM

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? Express vs. Laravel: Membandingkan kebaikan dan keburukan, yang manakah akan anda pilih? Mar 10, 2024 am 08:39 AM

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

Bagaimana untuk membina aplikasi JavaScript tindanan penuh menggunakan React dan Express Bagaimana untuk membina aplikasi JavaScript tindanan penuh menggunakan React dan Express Sep 26, 2023 pm 01:09 PM

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

Bagaimana untuk membina sistem blog mudah menggunakan Node.js Bagaimana untuk membina sistem blog mudah menggunakan Node.js Nov 08, 2023 pm 06:45 PM

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

Ekspres atau Laravel? Pilih rangka kerja bahagian belakang yang paling sesuai untuk anda Ekspres atau Laravel? Pilih rangka kerja bahagian belakang yang paling sesuai untuk anda Mar 10, 2024 pm 06:06 PM

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

See all articles