1

ヘッダーと MIME タイプを応答に追加して、csv ファイルの形式でデータをダウンロードしようとしています。ローカルでテストするとすべてのブラウザーで正常に動作しますが、サーバーまたはリモート デスクトップからテストすると、Firefox では動作しません。実際に何が起こるか、データを個別の値に変換していますが、拡張子をcsvとして取っていません.csv拡張子でファイルを手動で保存すると、特にサーバーで動作しない理由がわかりませんでしたFirefoxでは、ここに私のコードがあります:

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}",
    string.IsNullOrEmpty(this.FileName) ? DFLT_CSVFILENAME : this.FileName)
);
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

この後、応答に書き込むデータを使用して stringBuilder を構築しています。

そのため、ヘッダーと MIME タイプの設定が問題であるという印象を受けました。しかし、それらはすべて問題ないように見えます。

4

2 に答える 2

0

CSV のコンテンツ タイプはブラウザごとに異なります。IE の場合は「application/vnd.ms-excel」です。

于 2013-11-16T16:56:44.463 に答える
0

ここでの問題は、単語の間にスペースを入れてファイル名を渡していることです。Fire Fox は、他のブラウザが行うスペースを含むファイル名を受け付けません。そのため、ファイル名のスペースを削除するだけで機能しました。

于 2013-11-29T06:05:47.063 に答える