首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IE 11中显示二进制文件(pdf)

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

Stack Overflow用户
提问于 2014-10-02 20:55:33
回答 1查看 8.8K关注 0票数 13

我正在尝试使用这篇文章AngularJS: Display blob (.pdf) in an angular app中建议的方法显示一个二进制文件。这在Chrome和FF中工作得很好,但IE 11给我“错误:访问被拒绝”。有没有人知道它是否与Blob对象有关,并能为我指出正确的方向?下面是我的js代码:

代码语言:javascript
复制
$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:

代码语言:javascript
复制
<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>

EN

回答 1

Stack Overflow用户

发布于 2016-05-26 00:43:23

IE 11块显示blob,您需要使用以下设置:

代码语言:javascript
复制
                    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);
                }
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26161314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档