- - PR -
IEのセキュリティ制限なのか、はたまたHTTPの仕様なのか
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-04-14 12:42
ASP.NETでサーバ上のファイルをダウンロードする
システムを作成しました。 仮にこのページをdownload.aspxとします。 このとき、 レスポンスのヘッダーに Content-Type は Application/download , Content-Dispositionにattachment;filename=ファイル名 と付して、問題なく動作しています。 ところが、filenameに長い文字列(概ね日本語全角相当で30文字前後が限界)を 与えると、filename=が全く効果がなくなり、 ダウンロードファイル名のデフォルトが、download.aspxになってしまいます。 仮に、元のファイルがWORDファイルだとすると、 保存ダイアログで my.docなどと打ち込んで保存し、開くと中身は問題ありません。 つまり、送られてきているファイル実体には何の問題もありません。 (もっとも、この場合は、ダウンロードする本人が元のファイルの拡張子を 事前に知っていなければならないという限界があります。) このfilenameの長さの制限がどこに起因しているのか、 ご存知のかた、教えてください。 (1)HTTPのプロトコル仕様による制約なのか?と思って、RFCの和訳を調べましたが、 見た限りでは、ヘッダー部分のバイト数制限を見つけることができませんでした。 (2)クライアントのIE(Ver6.0)において、何らかのヘッダーのオーバーフロースタック に起因するセキュリティホールが昔存在したため、現在は制限されているのか? とも思いましたが、ネットで検索した限りでは見当たりませんでした。 (3)MMCにおけるIIS設定では、ヘッダーサイズの制限を掛ける(講じる)ような 設定を行う場所は見当たりませんでした。 |
1
