つまづいた石ころ、ぶつかった壁

問題(と解消)の記録

IIS ASPでバッファの上限を超えるファイルをダウンロード

IISの設定で応答バッファの上限が設定できますが、以下のサンプルケースのように
それを超えるサイズのファイルをダウンロードする方法です。

・サンプル
IISの設定:応答バッファの上限5MB
ダウンロードするファイル:100MB



以前調べて解消していたのですが、忘れてしまって再度調べたのでメモります。

概要としては、少しずつ小出しにしてあげるとうまくいきました。

参照記事は以下です。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46400&forum=7


全体の流れとしては、

① Response.Buffer = True

② ADODB.Streamで、ファイルを1KBずつなど細かく読み取る

③ Response.Flushでバッファのデータをクライアントに小出しに返す

④ ②→③を繰り返し

という感じです。



水がいっぱいになる前に、バケツをあけないと!


考えてみれば当たり前でした。。