0

ファイルサーバー内のファイルを、Webサーバー上で実行されているアプリケーションを介してダウンロードできるようにする必要があります。ユーザーはアプリケーションページで利用可能なリンクをクリックすると、[名前を付けて保存]ダイアログが表示されます。この種のユースケースはかなり一般的で、基本的なことについて話しているかもしれませんが、私の次の仮定が正しいかどうか誰かが確認できれば幸いです。

1)ファイルサーバー上のファイルを使用して、Webサーバーの仮想ディレクトリを介して仮想的にマッピングされ、アプリケーションにアクセスできるように(リンクとして)、content-dispositionを使用してクライアントに直接ストリーミングすることができます(回答と同様のコードを使用)ここで)、ストリーミングの目的でファイルを処理またはチャンクするためのコードを必要としないことを意味します。

2)ファイルはファイルサーバーから直接ストリーミングされるため、Webサーバーはメモリやディスクの使用量に影響を与えることはありません(もちろんCPUが使用されます)。

ありがとう

4

1 に答える 1

2

ファイルを直接書き込み、メモリフットプリントを最小限に抑えたいので、使用を検討してくださいHttpResponse.TransmitFile

指定されたファイルを、メモリにバッファリングせずに、HTTP応答出力ストリームに直接書き込みます。

私の知る限り、これは、asp.netを介してファイルを書き込む必要がある場合に、応答でファイルを送信するための最も効率的な方法です。

Response.AppendHeader("Content-Disposition", "attachment; filename="+ fileName );
Response.TransmitFile(fullPath);
Response.Flush();
Response.End();
于 2013-03-25T07:32:48.037 に答える