Чтобы загрузить файл в формате html5, вы можете установить тег привязки с атрибутом загрузки:
<a href="/reportOnAnswersCategory" download="data.csv" id="btnExport" >Export data into Excel</a>
И когда пользователь щелкает ссылку, атрибут загрузки появляется в сохранении.В этом случае файл будет загружен как «data.csv»
Но для передачи «answer: value» в api вы также можете изменить узел, чтобы принять его в качестве параметра запроса и изменить URLна href="/reportOnAnswersCategory?answer="+{value}
, или вы можете скрыть <a>
, используя стиль css, display:none
и щелкнув по своей кнопке, выполните document.getElementById("btnExport").click()
Редактировать: когда загрузка использует POST запрос
fetch(service_url, {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
}).then(response => response.blob())
.then(response => {
var blob=response
var reader = new window.FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
var base64data = reader.result;
window.open(base64data);
}
})
.catch(error => {
console.error(error);
});