我有一个网络应用程序,可以将 PDF 返回到浏览器,该应用程序在 Chrome 和 Firefox 中运行良好,但在 Edge(版本 38.14393.0.0)中不起作用。响应标头如下所示:
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Origin: *
Cache-Control: no-store, no-cache, must-revalidate
Content-Disposition: inline; filename="Invoice.PDF"
Content-Length: 9255
Content-Type: application/pdf
Date: Mon, 30 Jan 2017 04:38:25 GMT
Pragma: no-cache
Server: Microsoft-IIS/10.0
我看到其他问题表明从 Edge 发送了 2 个请求,其中一个应该被忽略,但在我的情况下只有一个,而且似乎有效负载被忽略,因为 Edge 报告:
This resource has no response payload data
..位于开发人员工具中网络分析器中请求的响应正文部分。使用附件而不是内联也不起作用,如果 Edge 认为响应中没有内容,我也不会期望它会起作用。
有什么线索吗?
编辑:当 Content-Type 更改为:text/plain 时,响应正文不再被丢弃(但没有解决问题),所以我认为它是 application/pdf 特有的内容
就我而言,由于我尝试在结果上使用 createObjectURL,因此有效负载数据似乎被丢弃。这个帖子:
在 AngularJS 中设置 window.location 或 window.open 在 IE 11 中会导致“访问被拒绝”
有一个可行的解决方案:Edge 仍然不会像其他浏览器那样实际打开 PDF,但它为用户提供了保存它的选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)