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
Lepaskan: 2024-12-02 11:53:11
asal
378 orang telah melayarinya

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

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan