ホームページ >ウェブフロントエンド >jsチュートリアル >Express.js を使用して 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 サイトの他の関連記事を参照してください。