Как получить xlsx файл используя fetch api?
На сервере файл отдается вот так:
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename=".$outputFileName);
header("Content-Transfer-Encoding: binary");
readfile($outputFileName);
Тут файл открывается - все корректно
сам запрос к серверу вот такой
form_douwload.addEventListener('submit',async function (e){
e.preventDefault();
let data = new FormData();
data.append('action','downloadxls');
const response = await fetch(ajaxurl,
{
method: 'POST',
body: data,
}
);
let blob = await response.blob();
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = "export.xlsx";
document.body.appendChild(a); // we need to append the element to the dom -> otherwise it will not work in firefox
a.click();
a.remove(); //afterwards we remove the element again
})
файл скачивается но при попытке открыть файл exel выдает ошибку