2

と呼ばれる ActionResult を持つ ASP.NET MVC アプリケーションがありますGenerateReport。Excelファイルを保存するためにバイト配列を返そうとしています。スニペットは次のとおりです。

var contentType = "application/vnd.ms-excel";
var fileName = "Statistics.xlsx";

...

var fileBytes = package.GetAsByteArray();
return File(fileBytes, contentType, fileName);

ファイルを保存するように求められたとき、ときどき (常にではありません) "GenerateReport" で何をしたいか尋ねられます。ファイルに ActionResult と同じ名前を付けており、ファイルの種類を指定していません。保存をリクエストすると、保存に失敗したと表示されます。[再試行] を選択すると、正常に保存されます。次に、名前を .xlsx に変更すると、すべてのデータが正しく表示されます。私は IE9 と Chrome を使用していますが、Chrome で発生していることに気づいていません。残念ながら、IE9 で動作する必要があります。

コンテンツ タイプとファイル名を時々取得できない理由を知っている人はいますか?

4

1 に答える 1

-1

Content-Encoding の応答を確認します。ここのような同じ問題かもしれませんPHP File Serving Script: Unreliable Downloads?

于 2015-12-18T21:02:44.830 に答える