0
我有一个代码在我们的Web应用程序的一个新窗口中做了一个简单的表单发布,该窗口发布到ASP.NET MVC3控制器上的一个Action上。此行为在PC浏览器上工作得很好,但如果用户在Mac上,表单发布会导致浏览器下载一个零字节文件,其中包含所请求的操作的名称。在Mac浏览器上通过ASP.NET MVC进行表单发布
该操作查找数据库中的一个项目,并根据其格式返回具有正确内容类型和项目数据的FileContentResult。
任何人都可以告诉我为什么会发生这种情况,以及他们在遇到这种情况时找到的解决方法吗?
if (item.Format == PrintedItemFormat.PDF || item.Format == PrintedItemFormat.XDP)
{
return new FileContentResult(Encoding.UTF8.GetBytes(item.Data), "application/vnd.adobe.xdp+xml");
}
if (item.Format == PrintedItemFormat.XFDL)
{
return new FileContentResult(Encoding.ASCII.GetBytes(item.Data), "application/vnd.xfdl");
}
if (item.Format == PrintedItemFormat.CSV)
{
return new FileContentResult(Encoding.UTF8.GetBytes(item.Data), "application/CSV")
{
FileDownloadName = item.FileName
};
}
if (item.Format == PrintedItemFormat.HTML)
{
return new FileContentResult(Encoding.UTF8.GetBytes(item.Data), "text/html");
}
if (item.Format == PrintedItemFormat.TXT)
{
return new FileContentResult(Encoding.UTF8.GetBytes(item.Data), "text/plain");
}
if (item.Format == PrintedItemFormat.XFDF)
{
return new FileContentResult(Encoding.UTF8.GetBytes(item.Data), "application/vnd.adobe.xfdf");
}
请输入密码?否则,我们只是在盲目折叠的问题上掷飞镖。 – tvanfosson
你想看什么代码?那个行动? – strickland
很高兴看到你如何在客户端打开它。它很可能不会采取行动。您是否使用过任何浏览器开发工具来查看请求是否真的在制作? – tvanfosson