[解決済み] Node.js レスポンスでファイルを送信する
2022-07-03 03:10:35
質問
Expressjsフレームワークには
sendfile()
というメソッドがあります。フレームワーク全体を使用せずにそれを行うにはどうすればよいですか?
私はアーカイブを作成するためにnode-native-zipを使用しており、私はそれをユーザーに送りたいです。
どのように解決するのですか?
以下は、myfile.mp3をディスクからストリーミングで送信するサンプルプログラムです(つまり、ファイルを送信する前にファイル全体をメモリに読み込むことはしません)。サーバーはポート 2000 でリッスンします。
[更新]
コメントで@Aftershockさんがおっしゃっている通りです。util.pump
がなくなり、代わりに Stream プロトタイプのメソッドである
pipe
というストリームプロトタイプのメソッドに置き換えられました。
var http = require('http'),
fileSystem = require('fs'),
path = require('path');
http.createServer(function(request, response) {
var filePath = path.join(__dirname, 'myfile.mp3');
var stat = fileSystem.statSync(filePath);
response.writeHead(200, {
'Content-Type': 'audio/mpeg',
'Content-Length': stat.size
});
var readStream = fileSystem.createReadStream(filePath);
// We replaced all the event handlers with a simple call to readStream.pipe()
readStream.pipe(response);
})
.listen(2000);
引用元 http://elegantcode.com/2011/04/06/taking-baby-steps-with-node-js-pumping-data-between-streams/
関連
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsでディレクトリに存在するすべてのファイル名のリストを取得する方法は?
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] Node.js + Nginx - 今度は何?
-
[解決済み] Node.jsを最新バージョンにアップグレードする
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】MongoDBのデータ/DBが見つからない
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み] MongoClient v3.0使用時、db.collectionが関数でない
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] http-server コマンドが見つかりません。
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] ファイルのダウンロードにContent-Type: application/octet-streamは必要ですか?