1

我有一个向浏览器返回 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 的

4

1 回答 1

0

在我的例子中,负载数据似乎被丢弃了,因为我试图在结果上使用 createObjectURL。这个帖子:

在 AngularJS 中设置 window.location 或 window.open 在 IE 11 中给出“访问被拒绝”

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

于 2017-02-13T05:33:21.353 回答