当前位置:  开发笔记 > 编程语言 > 正文

二进制文件已损坏 - 如何使用AngularJS下载二进制文件

如何解决《二进制文件已损坏-如何使用AngularJS下载二进制文件》经验,为你挑选了1个好方法。



1> georgeawg..:

如何使用AngularJS下载二进制文件

下载二进制文件时,重要的是设置responseType:

app.service('VerDocServices',['$http',function($http) {

    this.downloadFile = function(url, file, urlDir) {
        var config = {
            //SET responseType
            responseType: 'blob',
            params : {
                file : file,
                urlDir : urlDir
            }
         };

        return $http.get(url, config)
          .then(function(response) {
            return response.data;
        }).catch(function(response) {
            console.log("ERROR: ", response.status);
            throw response;
        }); 
    }; 
}]);

如果responseType省略,则XHR API默认将UTF-8编码的文本转换为DOMString(UTF-16),这将破坏PDF,图像和其他二进制文件.

有关更多信息,请参阅MDN Web API参考 - XHR ResponseType

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有