Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net FileResult未返回正确的文件类型和文件名_Asp.net_Asp.net Mvc_Epplus_Fileresult - Fatal编程技术网

Asp.net FileResult未返回正确的文件类型和文件名

Asp.net FileResult未返回正确的文件类型和文件名,asp.net,asp.net-mvc,epplus,fileresult,Asp.net,Asp.net Mvc,Epplus,Fileresult,我有一个ASP.NET MVC应用程序,其ActionResult名为GenerateReport。我试图返回一个字节数组来保存Excel文件。以下是片段: var contentType = "application/vnd.ms-excel"; var fileName = "Statistics.xlsx"; 当提示我保存文件时,它有时会询问我想用GenerateReport做什么,但并不总是这样。它将文件命名为与ActionResult相同的名称,并且没有为其指定文件类型。我会请求保

我有一个ASP.NET MVC应用程序,其ActionResult名为GenerateReport。我试图返回一个字节数组来保存Excel文件。以下是片段:

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

当提示我保存文件时,它有时会询问我想用GenerateReport做什么,但并不总是这样。它将文件命名为与ActionResult相同的名称,并且没有为其指定文件类型。我会请求保存它,它会说保存失败。我将选择重试,它将保存罚款。然后,如果我将其重命名为.xlsx,则所有数据都在那里并且正确无误。我正在使用IE9和Chrome,但我没有注意到它发生在Chrome中。不幸的是,它需要在IE9中工作



有人知道为什么有时无法获取我的内容类型和文件名吗?

检查内容编码的响应。这可能与这里的问题相同

检查内容编码的响应。这可能是同一个问题,就像这里一样

我们以这种方式提供了十万个文件,但从未收到过像您这样的报告。有时是否可能设置空文件名?您是否尝试过设置内容配置,如所示或类似?@Wiktor-我尝试过在返回文件之前设置文件名。响应说有一个附件,文件名应该是Statistics.xlsx。@疯狂-我尝试添加以下响应。AddHeaderContent-Disposition,inline;filename=test.xlsx;XLSX文件的正确MIME类型是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet我们以这种方式提供了十万个文件,从来没有得到过像您这样的报告。有时是否可能设置空文件名?您是否尝试过设置内容配置,如所示或类似?@Wiktor-我尝试过在返回文件之前设置文件名。响应说有一个附件,文件名应该是Statistics.xlsx。@疯狂-我尝试添加以下响应。AddHeaderContent-Disposition,inline;filename=test.xlsx;它也做同样的事情。XLSX文件的正确MIME类型是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet执行此操作的ASP.NET等价物是什么?首先,通过输入http响应,检查浏览器中的F12工具是否启用了压缩。然后禁用压缩作为测试否,我在响应中没有看到任何关于内容编码的内容。执行此操作的ASP.NET等效功能是什么?首先,通过检查http响应,检查浏览器中的网络选项卡下是否使用F12工具启用了压缩。然后禁用压缩作为测试否,我在响应中没有看到任何关于内容编码的内容。
var fileBytes = package.GetAsByteArray();
return File(fileBytes, contentType, fileName);