vue 轉換信息為二進制 並實現下載


項目后端為springboot,前端為vue

后端在mysql數據庫直接存儲要下載的信息,mediumtext類型。

需求:前端列表明細行有下載按鈕,點擊按鈕時,通過Post請求拿到下載信息,並下載。

 1 download({ id: row.id }).then(response => {
 2     const blob = new Blob([response.data])
 3     const link = document.createElement('a')
 4     if ('download' in link) {
 5         link.download = row.fileName
 6         link.style.display = 'none'
 7         link.href = URL.createObjectURL(blob)
 8         document.body.appendChild(link)
 9         link.click()
10         URL.revokeObjectURL(link.href)
11         document.body.removeChild(link)
12     } else {
13         navigator.msSaveBlob(blob, row.fileName)
14     }
15 }).catch(() => {})

代碼是從網上查的,可以用。

說白了就是接收后端傳的信息(這里是字符串),先轉換成blob二進制。

創建一個a標簽,設置其href屬性為blob,設置download為下載后的文件名,點擊,再移除。

后端就是從數據庫查詢,返回要下載的信息,這里返回的是字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM