Я использую угловой $ 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 и т. д. повреждены. –
Сохранение двоичного файла в виде текстового файла приводит к множеству интерпретируемых символов, что приводит к повреждению двоичного файла. Я удалил свой ответ, так как он не сократил его, но это, вероятно, причина. Dig далее здесь: http://stackoverflow.com/questions/23451726/saving-binary-data-as-file-using-javascript-from-a-browser –