C# ASP.NET MVC4:IE在同一请求中挂起文件上载和下载
我在Internet Explorer上遇到了一个难以捉摸的客户端问题。我无法创建在同一请求中上载文件和下载文件的网页。我的应用程序允许用户下载他们上传的文件的修改副本 这是一个简单的form post事件,不涉及AJAX,因此该视图具有以下特点:C# ASP.NET MVC4:IE在同一请求中挂起文件上载和下载,c#,asp.net-mvc-4,internet-explorer,http-post,C#,Asp.net Mvc 4,Internet Explorer,Http Post,我在Internet Explorer上遇到了一个难以捉摸的客户端问题。我无法创建在同一请求中上载文件和下载文件的网页。我的应用程序允许用户下载他们上传的文件的修改副本 这是一个简单的form post事件,不涉及AJAX,因此该视图具有以下特点: @using (Html.BeginForm("Export", "Report", FormMethod.Post, new { enctype = "multipart/form-data" })) { <input id="phys
@using (Html.BeginForm("Export", "Report", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input id="physicalFile" name="physicalFile" type="file" />
...
但是,Internet Explorer在提交表单后将挂起。非常糟糕,您无法关闭Internet Explorer,必须强制“结束任务”
好奇因素,包括我尝试过的东西,从最好奇到最不好奇:
- 是否不发生如果我从表单中删除文件上载控件,下载工作正常李>
- 如果我从响应中删除下载,是否不会发生;上传自己的作品很好李>
- 仍然在禁用所有IE插件的情况下发生
- 在其他浏览器(Chrome和Firefox)中不会发生这种情况
- 在某些具有相同版本Internet Explorer的计算机(如我的)上不会发生这种情况
- 在计算机上担任管理员没有任何效果
- 当强制站点进入“受信任的站点”并且具有最小的可用限制时,仍然会发生这种情况
- 安装IE11解决了该问题
- 在混乱中,我怀疑一些配置是IT部门强加给这些机器的
[HttpPost]
public ActionResult Export(ReportDetailsModel model, HttpPostedFileBase physicalFile)
{
...
var fileStream = MakeReportFileStream(physicalFile.InputStream);
return File(fileStream, System.Net.Mime.MediaTypeNames.Application.Octet, "Results.xlsx");
}