私はC#のasp.netでクライアントマシンにサーバーからファイルをダウンロードするには、ファイルのダウンロード方法を記述しHTTP応答ファイルのダウンロード(C#の、Asp.net)
私は、次のコードを書きました:
Response.ContentType = ReturnExtension(System.IO.Path.GetExtension(file.Name));
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.TransmitFile(strRequest);
Response.End();
これは、FirefoxとChromeではなく、IEで正常に動作します。
ダウンロードしないと言うと、ブラウザウィンドウで開くのですか?何もしない?また、あなたのReturnExtensionメソッドがMIMEタイプを返すことを確認できますか?名前のようには聞こえませんが、確認する必要があると思っています...ファイル名にもスペースがありますか?それともヘッダーを混乱させるような何かがありますか? – Chris
ファイル名のスペースは問題にならないはずですが、適切なContentTypeを持つ必要があります。ファイル拡張子は適切ではありません。 –
私のReturnExtensionメソッドは、ファイルの拡張子をチェックし、拡張子に従ってMIMEタイプを返します。ファイルの拡張子が.bmpの場合、文字列 "image/bmp"が返されます。私がダウンロードボタンをクリックしてもダイアログが表示されませんが、firefoxとchromeでは問題なく動作しますが、Internet Explorerでは何も起こりません。 –