日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript下载文件下载 [Blob]

發布時間:2023/12/20 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。