我正在尝试使用这篇文章AngularJS: Display blob (.pdf) in an angular app中建议的方法显示一个二进制文件。这在Chrome和FF中工作得很好,但IE 11给我“错误:访问被拒绝”。有没有人知道它是否与Blob对象有关,并能为我指出正确的方向?下面是我的js代码:
$http.get(baseUrl + apiUrl, { responseType: 'arraybuffer' })
.success(function (response) {
var file = new Blob([response], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$scope.pdfContent = $sce.trustAsResourceUrl(fileURL);
})
.error(function () {
});和我的html:
<div ng-controller="PDFController" class="modal fade" id="pdfModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content" onloadstart="">
<object data="{{pdfContent}}" type="application/pdf" style="width:100%; height:1000px" />
</div>
</div>
发布于 2016-05-26 00:43:23
IE 11块显示blob,您需要使用以下设置:
var byteArray = new Uint8Array(someByteArray);
var blob = new Blob([byteArray], { type: 'application/pdf' });
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var objectUrl = URL.createObjectURL(blob);
window.open(objectUrl);
}https://stackoverflow.com/questions/26161314
复制相似问题