我正在使用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;
我已经看到了同样的问题。我尝试检查相同的内容,但他给出了错误的内容类型。URL: - error_message_main error_message_reason在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;
编辑 - 我正在使用oflectxml来创建Excel。封闭XML问题的GitHub链接-https://github.com/closedxml/closedxml/issues/279
我通过使用eppus解决了这一点,因为我找不到closedXml
的任何解决方案。