使用JavaScript下载PDF文件

时间:2016-03-08 14:25:41

标签: javascript angularjs ajax download filesaver.js

我想下载通过AJAX加载的PDF文件。我尝试使用库FileSave.js来完成此操作。以下代码有效,但是当我打开PDF文件时它完全为空。我注意到PDF文件的编码是UTF-8,但端点返回带有ANSI编码的PDF。

为了使用正确的编码下载文件,我该怎么办?

var downloadReport = function() {
    $http.get("../api/report").then( function(response) {

        var blob = new Blob([response.data], {
            type: "application/pdf",
        });
        saveAs(blob, fileName);

    });
};

1 个答案:

答案 0 :(得分:0)

最后我发现了自己的问题。我必须将responseType: "arrayBuffer"添加到http请求中:

$http({
    method: 'POST',
    url: '../api/report',
    responseType: "arraybuffer"
    }).then( function(response) {
        var blob = new Blob([response.data], {
            type: "application/pdf",
        });
    saveAs(blob, fileName);
    });
};