Полученный файл проходит через $http
, и мне нужно сохранить данные ответа в файл, я использую angular-file-saver
, полученные файлы - pdf docx, но просмотр сохраненный pdf-файл ничего не показывает читателю, в то время как другие загрузчики, такие как PostMan
, действительно сохраняют его.Angularjs: как правильно сохранить blob pdf-файл, полученный с сервера
функция, которая заботится о сохранении имеет следующий код:
function saveFile(data, header){
var extensions = {
"application/pdf": ".pdf",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": ".docx"
}
var file = new Blob([data], {type: header});
FileSaver.saveAs(file, documentsShow.document.name + extensions[header]);
}
data
это данные тела, извлеченные из $http
успеха и header
является Content-Type
также получил от $http
ответа
в случае, если это необходимо , код $http
выглядит следующим образом:
$http({
method: "GET",
data: data, //This is sometimes null but it's not relevant for the application
url: "path/to/download"
}).then(function(data){
saveFile(data.data, data.header("Content-Type"));
});