我有一个Web应用程序可以将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
..位于Developer Tools中Network Analyzer中的请求的Response Body部分。使用附件而不是内联也不起作用,如果Edge认为响应中没有内容,我不会指望它。
任何线索?
编辑:当Content-Type更改为:text / plain时,响应正文不再被丢弃(但不能解决问题),所以我认为它是application / pdf特有的东西
答案 0 :(得分:0)
在我的情况下,似乎有效负载数据被丢弃,因为我试图在结果上使用createObjectURL。这篇文章:
Setting window.location or window.open in AngularJS gives "access is denied" in IE 11
有一个有效的解决方案:Edge仍然没有像其他浏览器那样实际打开PDF,但是它为用户提供了保存它的选项。