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

Bagaimanakah Saya Muat Turun Fail daripada Pelayan Node.js Menggunakan Express?

Barbara Streisand
Barbara Streisandasal
2024-12-04 21:25:15787semak imbas

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

Memuat turun Fail daripada Pelayan Node.js dengan Express

Rangka kerja Node.js' Express menawarkan cara yang mudah untuk memuat turun fail daripada pelayan kepada pelanggan. Untuk memudahkan perkara ini, ikuti langkah berikut:

Menetapkan Pengepala

Apabila menghantar fail, adalah penting untuk menetapkan pengepala HTTP yang betul untuk memberikan klien maklumat penting seperti nama dan jenis fail.

  • Pelupusan kandungan: Tetapkan pengepala ini kepada 'lampiran; nama fail=' untuk menentukan nama fail seperti yang dilihat oleh klien.
  • Jenis kandungan: Nyatakan jenis fail yang sedang dimuat turun, seperti 'video/quicktime'.

Penstriman Fail Asynchronous

Untuk meningkatkan prestasi, gunakan strim fail untuk menghantar data dan bukannya membaca keseluruhan fail secara serentak. Pendekatan ini meminimumkan kemungkinan kelewatan atau masalah ingatan.

Penyelesaian Dipertingkat

Express kini termasuk fungsi terbina dalam untuk muat turun fail:

app.get('/download', function(req, res) {
  const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
  res.download(file); // Sets the appropriate headers and streams the file.
});

Penyelesaian Warisan

Sebelum ciri muat turun terbina dalam Express, kod berikut menyediakan muat turun fail yang lebih komprehensif penyelesaian:

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);
});

Penyelesaian ini termasuk:

  • Fail dan pengekstrakan nama fail menggunakan path.basename.
  • Penentuan jenis kandungan menggunakan nod-mime.
  • Penstriman fail yang cekap dengan fs.createReadStream.

Dengan mengikuti teknik ini, anda boleh memuat turun fail dengan berkesan daripada pelayan Node.js anda melalui Express, memastikan pelanggan menerima dan mengenali kandungan yang dimuat turun dengan betul.

Atas ialah kandungan terperinci Bagaimanakah Saya Muat Turun Fail daripada Pelayan Node.js Menggunakan Express?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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