使用get請求下載文件非常簡便,但是get請求的url有長度和大小的限制,所以當請求參數非常多時無法滿足需求,所以改成post請求const res = await fetch('xxxxxxxxx', { method: 'post', body: JSON.stringify(params), ...
使用get請求下載文件非常簡便,但是get請求的url有長度和大小的限制,所以當請求參數非常多時無法滿足需求,所以改成post請求
const res = await fetch('xxxxxxxxx', { method: 'post', body: JSON.stringify(params), credentials: 'include', headers: { 'Cache-Control': 'max-age=0', 'Pragma': 'no-cache', 'Content-Type': 'application/json;charset=UTF-8', 'x-requested-with': 'fetch' } }); const blob = await res.blob(); if ('download' in document.createElement('a')) { var a = document.createElement('a'); a.style.display = 'none'; var url = window.URL.createObjectURL(blob); var filename = decodeURIComponent(res.headers.get('Content-Disposition')); a.href = url; a.download = filename; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); document.body.removeChild(a); } else { navigator.msSaveBlob(blob); }