【发布时间】:2019-02-05 12:05:20
【问题描述】:
我们正在调用 asp.net webapi 以在 html 对象中显示 PDF,在 Chrome 和 Firefox 中可以完美地查看 PDF。在 Internet Exporer 11 中,不查看 pdf 而是在抛出 Error
以下是我们的来源 HTML
<object data="{{piData}}" type="application/pdf" style="width: 100%; height: 400px;"></object>
AngularJs
$scope.piData = null;
$http.get('www.mydomain/pi', {
params: {
"piId": pPiId
},
responseType: 'arraybuffer'
}).then(function (response) {
var data = response.data;
var file = new Blob([data], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$scope.piData = $sce.trustAsResourceUrl(fileURL);
}, function (err) {
alert(err.data);
});
如何解决此错误
【问题讨论】:
-
从错误消息中,看起来 IE 正在使用 Adobe flash 或Shockwave flash object add on 来加载 PDF 文件,它没有识别 .tmp 文件。如果有可能,您可以尝试修改代码以将文件加载为 PDF 或尝试使用 HTML5 标准为 IE 加载 PDF,因为将来,Microsoft 将从 IE 和 Edge 中删除对 adobe add on 的支持。参考:blogs.windows.com/msedgedev/2017/07/25/…
标签: angularjs internet-explorer