后台返回原始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`)
以上。