我使用windows.open('url')
从c#web api下载excel。它在每个浏览器中被下载。但是对于Ipad和Iphone,文件得到下载,但我得到以下错误在屏幕上
ERROR_MESSAGE_MAIN ERROR_MESSAGE_REASON
我使用以下代码返回存储在内存流中的excel数据
HttpResponseMessage result = null;
result = Request.CreateResponse(HttpStatusCode.OK);
result.Content = new StreamContent(mem);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "myexcel.xlsx"
};
return result;
我在PHP中看到了同样的问题。我试着检查相同的内容,但他给出了错误的内容类型。Url:-iPad和iPhone Safari上的错误\消息\主要错误\消息\原因
我在其他地方检查了相同的问题,并尝试了以下代码更改。我添加了桌面变量,以便在移动设备上,我可以根据建议添加另一个流。但它不起作用。
if (isDesktop)
{
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}
else
{
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
}
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "myexcel.xlsx"
};
return result;
编辑-我使用ClosedXml创建excel。关闭XMl问题的Github链接-https://github.com/ClosedXML/ClosedXML/issues/279
我使用Eppus解决了这个问题,因为我找不到closedXml
的任何解决方案。