Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Muat Turun Fail daripada Pelayan Node.js Menggunakan Express.js?

Bagaimana untuk Muat Turun Fail daripada Pelayan Node.js Menggunakan Express.js?

Linda Hamilton
Lepaskan: 2024-11-27 19:26:11
asal
559 orang telah melayarinya

How to Download Files from a Node.js Server Using Express.js?

Memuat turun Fail daripada Pelayan Node.js Menggunakan Express

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.
});
Salin selepas log masuk

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');
Salin selepas log masuk

Anda juga boleh menghantar jenis MIME, contohnya:

res.setHeader('Content-type', 'video/quicktime');
Salin selepas log masuk

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);
});
Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan