【发布时间】:2016-08-13 20:19:01
【问题描述】:
我正在使用 angular $http 从服务器下载文件。文件类型可以不同。 我应该设置请求标头以进行身份验证。 下载完成后,文件已损坏! 这是我在客户端保存文件的代码:
getFile: function(file) {
$http({
method: 'GET',
url: 'download' + "/" + file.name,
headers: {
"X-AUTH-TOKEN": "my-token",
Accept: "*/*",
}
}).success(function(data) {
var fileBlob = new Blob([data], {
type: '*/*;charset=utf-8'
});
saveAs(fileBlob, file.name);
}).error(function(err) {
console.log('err', err);
});
}
【问题讨论】:
-
您损坏的文件是二进制文件还是文本文件?
-
*.txt 文件正常。但 *.pdf、*.docx 等已损坏
-
将二进制文件保存为文本文件会导致大量字符被解释,从而损坏二进制文件。我已经删除了我的答案,因为它没有削减它,但这可能就是原因。在这里进一步挖掘:stackoverflow.com/questions/23451726/…
标签: javascript angularjs