gpt4 book ai didi

javascript - 在 IE 11 中显示二进制文件 (pdf)

转载 作者:可可西里 更新时间:2023-11-01 01:53:09 24 4
gpt4 key购买 nike

我正在尝试使用这篇文章中建议的方法显示二进制文件 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>

最佳答案

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);
}

关于javascript - 在 IE 11 中显示二进制文件 (pdf),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26161314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com