ホームページ >ウェブフロントエンド >jsチュートリアル >Express.js を使用して Node.js サーバーからファイルをダウンロードするにはどうすればよいですか?

Express.js を使用して Node.js サーバーからファイルをダウンロードするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-27 19:26:11559ブラウズ

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

Express を使用して Node.js サーバーからファイルをダウンロードする

問題:
サーバーに保存されているファイルからファイルをダウンロードする方法、 Node.js サーバーのページにアクセスしてファイルをローカル マシンにダウンロードしますか?

解決策:

Express.js が提供するヘルパー関数を使用すると、このプロセスを簡略化できます:

app.get('/download', function(req, res){
  const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`;
  res.download(file); // Set disposition and send it.
});

古い解決策 :

ブラウザがファイル名を認識するには、他の HTTP を使用する必要があります詳細情報を指定するヘッダー:

res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV');

また、MIME タイプを送信することもできます。例:

res.setHeader('Content-type', 'video/quicktime');

より詳細なサンプル コードを次に示します:

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

このサンプル コードでは、Node.js で推奨される非同期メソッドであるストリームを使用してファイルを読み取ることに注意してください。

以上がExpress.js を使用して Node.js サーバーからファイルをダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。