我有一个带有 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 中工作。
有谁知道为什么有时它没有得到我的内容类型和文件名?