後臺返回原始base64
數據,前端使用saveAs
保存成各種格式
原始base64
不包含前綴,比如:<img :src="'data:image/Jpeg;base64,'+imgBase64">
,其中imgBase64
就是指原始base64數據
// 要先使用一個庫,
import { saveAs } from 'file-saver'
const downloadBase64File = (base64Data, fileName) => {
let byteCharacters = atob(base64Data)
let byteNumbers = new Array(byteCharacters.length)
for (let i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i)
}
let byteArray = new Uint8Array(byteNumbers)
let blob = new Blob([byteArray], { type: 'application/octet-stream' })
saveAs(blob, fileName)
}
// 如果要使用其下載,fileName指的是文件的名全稱,包括後綴,eg:`myimg.png`
saveAs
是一個很強大的方法,如果後臺返回的是二進制文件流(blob),則可以使用saveAs
方法直接下載
//res是後臺返回的二進制文件流
// 請求類型是responseType: 'blob'
saveAs(res, `${myname}.zip`)
以上。