Мне нужно скачать zip-файл, отправив запрос по почте. Во внутреннем интерфейсе они архивируют файл и отправляют.
Внутренние значения, которые они устанавливают
Content-Disposition →attachment;
filename="sample.zip"
Content-Type →application/zip
Код интерфейса:
downloadMethod = function (path, item) {
var promise = $http({
method: "POST",
data: item,
url: API_SERVER.url+path,
headers: { 'Content-Type': 'application/zip; charset=UTF-8'},
responseType: 'arraybuffer'
});
promise.success(function(response, status, headers, conf) {
return response;
}).error(function(response){
return response;
});
return promise;
};
В случае успеха я сохраняю файл с помощью Filesaver
var blob = new Blob([data)], {type:"application/zip"});
saveAs(blob, "sample.zip");
Файл загружается. Но при извлечении файла я получаю ошибку
ОШИБКА: ЦЕНТРАЛЬНАЯ КАТАЛОГ НЕ НАЙДЕНА
, а также получение файла не может быть открыто или не является допустимым zip-файлом.
Но когда я пытаюсь поразить API от почтальона, он загружается, и я могу извлечь файл.