边缘浏览器似乎丢弃响应有效负载

时间:2017-01-30 05:02:34

标签: pdf microsoft-edge content-disposition iis-10

我有一个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特有的东西

1 个答案:

答案 0 :(得分:0)

在我的情况下,似乎有效负载数据被丢弃,因为我试图在结果上使用createObjectURL。这篇文章:

Setting window.location or window.open in AngularJS gives "access is denied" in IE 11

有一个有效的解决方案:Edge仍然没有像其他浏览器那样实际打开PDF,但是它为用户提供了保存它的选项。