axios 文件下載代碼 片斷

<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");
相關文章
相關標籤/搜索