dポイントプレゼントキャンペーン実施中!

IIS6.0 IE6or7 ASP(vbScript)

こんにちは。よろしくお願いします.
エクセルやワードファイルを直接URLで叩くと
ブラウザの中で開いてしまいます.

それを避けるために下記のようにしてファイルをストリームとして渡すようにし、問題を回避しようとしました.

しかし、ファイルサイズが小さい場合は問題なくDLできるのですが、
1Mを越えたあたりから一瞬でエラー画面になりDLできず、困っています.


IISの設定なのか、よくわかりません。
下記以外の方法でも構いませんので、解決方法等ありましたら
御教示願います.




Response.AddHeader "Content-Disposition" , " attachment; ilename=" & FileName
Response.ContentType = "application/octet-stream;name=" & FileName

Set obj = CreateObject("ADODB.Stream")
obj.Open
obj.Type = 1
obj.LoadFromFile("フォルダパス" & "\" & FileName)
Response.BinaryWrite obj.Read()
obj.Close

A 回答 (2件)

私自身はASPでの経験がないのですが……


MSKB 925764: Active Server Page に対する要求が Web ブラウザから IIS 6.0 を実行しているサーバーに送信されると、エラー メッセージ "Response buffer limit exceeded" が表示される
http://support.microsoft.com/kb/925764/ja
は参考にならないでしょうか。

この回答への補足

解決しました.

ファイルサイズが大きいと内部バッファが足りなくなるようです.
なので、細かくわけて操作します.

For
Response.BinaryWrite obj.Read(256)
Response.Flush
Next

補足日時:2009/06/13 14:54
    • good
    • 0
この回答へのお礼

バッファの停止ですか・・・
試してみたいとおもいます.

しかし、これが原因なら
どうしようもないのでしょうか?

お礼日時:2009/06/11 19:31

zipなどで圧縮してダウンロードさせれば良いのではないでしょうか?

この回答への補足

その方法は最終手段ですね

ただ、まったくムリなのならともかく、
実現できないのがファイルサイズとなると
何とかならないかと考えてしまいます.

とりあえず、原因究明と解決策の模索が
優先事項になります.

補足日時:2009/06/11 19:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!