Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Muat Turun Fail dengan Nama Fail dan Sambungan yang Betul daripada Pelayan Express.js?

Bagaimana untuk Muat Turun Fail dengan Nama Fail dan Sambungan yang Betul daripada Pelayan Express.js?

DDD
DDDasal
2024-12-02 11:53:11318semak imbas

How to Download Files with Correct Filenames and Extensions from Express.js Servers?

Muat turun Fail daripada Pelayan Express.js dengan Nama Fail dan Sambungan Lengkap

Dalam Node.js, menyampaikan fail untuk dimuat turun adalah mudah, tetapi memastikan ia mempunyai nama yang betul dan sambungan fail boleh menjadi lebih rumit.

Lama Pendekatan:

Apabila menulis laluan muat turun fail menggunakan Express.js, anda perlu menetapkan pengepala Pelupusan Kandungan secara eksplisit untuk memberikan nama fail dan sambungan fail. Selain itu, anda mungkin mahu memasukkan pengepala Kandungan Panjang dan Jenis Kandungan untuk pengendalian yang lebih baik:

app.get('/download', function(req, res) {
  const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
  res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV');
  res.write(fs.readFileSync(file, 'binary'));
  res.end();
});

Pembantu Express.js:

Express.js sekarang termasuk kaedah pembantu yang dipanggil muat turun yang memudahkan muat turun fail proses:

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

Penambahan:

Untuk kefungsian yang lebih maju, anda boleh menggunakan perpustakaan pihak ketiga seperti laluan dan mime untuk menentukan nama fail, sambungan fail, dan jenis mime:

const path = require('path');
const mime = require('mime');

app.get('/download', function(req, res) {
  const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
  const filename = path.basename(file);
  const mimetype = mime.getType(file);

  res.setHeader('Content-disposition', 'attachment; filename=' + filename);
  res.setHeader('Content-Type', mimetype);
  res.download(file);
});

Pendekatan ini memastikan bahawa fail yang anda muat turun sentiasa mempunyai nama dan sambungan fail yang betul, tanpa mengira lokasinya pada pelayan.

Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail dengan Nama Fail dan Sambungan yang Betul daripada Pelayan Express.js?. 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