【问题标题】:View PDF in Internet Explorer 11在 Internet Explorer 11 中查看 PDF
【发布时间】: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 正在使用 Adob​​e 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


【解决方案1】:
    $scope.piData = null;
    $http.get('www.mydomain/pi', {
        params: {
            "piId": pPiId
        },
        responseType: 'arraybuffer'
    }).then(function(response) {
     if (navigator.msSaveBlob) {
        var data = response.data;
        var binary = atob(data);
        var len = binary.length;
        var buffer = new ArrayBuffer(len);
        var view = new Uint8Array(buffer);
        for (var i = 0; i < len; i++) {
            view[i] = binary.charCodeAt(i);
        }
        var blob1 = new Blob([view], {
            type: 'application/pdf'
        });
        navigator.msSaveBlob(blob1, data);
}else {
 var file = new Blob([data], { type: 'application/pdf' });
    var fileURL = URL.createObjectURL(file);
    $scope.piData = $sce.trustAsResourceUrl(fileURL);
}
    }, function(err) {
        alert(err.data);
    });

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    相关资源
    最近更新 更多