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

检查内容编码的响应。这可能与这里的PHP File Serving Script: Unreliable Downloads 一样的问题?

于 2015-12-18T21:02:44.830 回答