我想下载通过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);
});
};
答案 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);
});
};