當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript下载文件下载 [Blob]
生活随笔
收集整理的這篇文章主要介紹了
JavaScript下载文件下载 [Blob]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HttpServletResponse下載壓縮文件流報錯,壓縮文件錯誤或不可預料的壓縮文件末端
錯誤可能
(0)如果用Blob處理response的流,則ajax請求中需要填寫responseType: ‘blob’
(1)文件流沒有正確關閉, 比如OutPutStream。
(2)文件流關閉順序錯誤,應該按照先打開的流后關閉,后打開的流先關閉的順序。
(3)在final中關閉流,但是return雖然是最后執行,但是如果return放在try里面,return會先報存結果,在finally執行后,再返回。導致文件流沒有讀取完整。 所以return應該放在方法的最后。
js處理后端返回字節流的代碼
// ajax export function exportXml(data) {return request({url: `${process.env.VUE_APP_API_MY}/transactionauditdata/v1/exportXml`,method: 'post',data: data, responseType: 'blob' // 聲明返回的request為bolb格式,否則Blob處理流會報錯}) }// download Function export function commonDownload(res){// tar包,如果是zip,則為application/x-zip-compressedvar blob = new Blob([res.data], { type: 'application/x-tar' })let linkNode = document.createElement('a')linkNode.download = fileName + '.tar'linkNode.style.display = 'none'linkNode.href = URL.createObjectURL(blob)document.body.appendChild(linkNode)linkNode.click()URL.revokeObjectURL(linkNode.href)document.body.removeChild(linkNode) }總結
以上是生活随笔為你收集整理的JavaScript下载文件下载 [Blob]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序开发入门与实战(Behavio
- 下一篇: Springboot系列-自定义star