<script type="text/javascript"> axios({ method:'post', url: 'url', // 最好qs.stringify,否則接口易報錯400
data: {}, // blob類文件對象
responseType: 'blob' }).then(res => { let blob = new Blob(res.data,{ // 如果excel的話 須要設置下面的type
type: 'application/vnd.ms-excel' }); let link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); // 文件名
let filename = res.headers; filename = filename['content-disposition']; if (filename && filename.length > 0) { filename = filename.split(';')[1].split('filename=')[1]; } else{ filename = '寫死的名字.xlsx' } link.download = filename; link.click() }) </script>
注意,想要獲取headers中content-disposition的數據,服務端要加一個:javascript
context.Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");