ASP.NET アプリケーションで非常に奇妙な問題に直面しています。
ユーザーがファイルをダウンロードするボタンをクリックすると、Internet Explorer / Chrome / Firefox は保存ダイアログを表示しますが、ファイルの名前は ASPX ページの名前です(たとえば、ページの名前が Download.aspx の場合、ダウンロード ダイアログに「ファイル」Download.zip)。MIME タイプで遊んでいると、ダウンロード ダイアログに "Download.aspx" と表示されることがあります。ページをダウンロードしようとしているようですが、実際には正しいファイルです。
これは ZIP 拡張子で発生し、これが私のコードです (かなり標準的だと思います):
this.Response.Clear();
this.Response.ClearHeaders();
this.Response.ClearContent();
this.Response.AddHeader("Content–Disposition", "attachment; filename=" + file.Name);
this.Response.AddHeader("Content-Length", file.Length.ToString());
this.Response.ContentType = GETCONTENTYPE(System.IO.Path.GetExtension(file.Name));
this.Response.TransmitFile(file.FullName);
this.Response.End();
GetContentType 関数は、ファイルの MIME を返すだけです。application/x-zip-compressed、multipart/x-zip、そしてもちろんapplication/zipで試しました。application/zip を使用すると、Internet Explorer 8 で XML エラーが表示されます。
どんな助けでも大歓迎です。
ご挨拶、