Masalah:
Cara memuat turun fail daripada fail yang disimpan dalam pelayan, Memuat turun fail ke mesin tempatan dengan mengakses halaman dalam pelayan Node.js?
Penyelesaian:
Menggunakan fungsi pembantu yang disediakan oleh Express.js boleh memudahkan proses ini:
app.get('/download', function(req, res){ const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.download(file); // Set disposition and send it. });
Penyelesaian lama :
Untuk membolehkan penyemak imbas mengenali nama fail, anda perlu menggunakan HTTP lain pengepala untuk menentukan maklumat lanjut:
res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV');
Anda juga boleh menghantar jenis MIME, contohnya:
res.setHeader('Content-type', 'video/quicktime');
Berikut ialah kod sampel yang lebih terperinci:
var path = require('path'); var mime = require('mime'); var fs = require('fs'); app.get('/download', function(req, res){ var file = __dirname + '/upload-folder/dramaticpenguin.MOV'; var filename = path.basename(file); var mimetype = mime.getType(file); res.setHeader('Content-disposition', 'attachment; filename=' + filename); res.setHeader('Content-type', mimetype); var filestream = fs.createReadStream(file); filestream.pipe(res); });
Sila Ambil perhatian bahawa kod contoh ini menggunakan strim untuk membaca fail, yang merupakan kaedah tak segerak pilihan dalam Node.js.
Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail daripada Pelayan Node.js Menggunakan Express.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!