JavaScript を起動して新しい aspx ページを開き、ユーザーがダウンロードできるようにファイルをブラウザにストリーミングするリンクボタンを含む aspx ページがあります。
XP SP3、IE 7、および FireFox 3.5 で開発および単体テストを行う場合、次のコード (キーは Content-Disposition タグの「添付ファイル」部分) を使用すると、ドキュメントを保存するか開くかを尋ねるダイアログ ボックスが表示されます。 、これはまさに私がやりたいことです:
private void WriteFileToBrowser(Byte[] requestFile, string filename, String m_mimeType, String m_format)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + "." + m_format);
Response.ContentType = m_mimeType;
Response.BinaryWrite(requestFile);
Response.Flush();
}
これを Windows 2003 サーバーに展開して同じ aspx ページに移動すると、FireFox 3.5 は予想どおりに保存/開くオプションを正しく要求します。これが FF の既定の操作であるためです。
しかし、IE 7 でナビゲートしてクリックしてダウンロードすると、トップが 1/8 秒表示されるポップアップ ウィンドウが表示され、消えます。保存/開くプロンプトが表示されません。
IE 7 -> ツール -> インターネット オプション -> セキュリティ -> カスタム レベル -> ダウンロード
ファイルのダウンロードの自動プロンプトは無効になっています。有効にするためにチェックすると、保存/開くプロンプトが正しく機能します。
だから私の質問は.....誰かがこれを回避しましたか? キャッシュ、プラグマなどのさまざまなヘッダータグで機能すると人々が主張する多くのことを試しましたが、IEのダウンロードプロパティがデフォルトで無効になっているという事実を回避することはできません。