将base64位格式的图片下载保存到本地方法及代码
dearweb
发布:2021-11-23 11:14:40阅读:
将base64位格式的图片下载保存到本地方法及代码
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
function downloadFile(url, name = 'What\'s the fuvk') {
var a = document.createElement("a")
a.setAttribute("href", url)
a.setAttribute("download", name)
a.setAttribute("target", "_blank")
let clickEvent = document.createEvent("MouseEvents");
clickEvent.initEvent("click", true, true);
a.dispatchEvent(clickEvent);
}
function downloadFileByBase64(base64, name) {
var myBlob = dataURLtoBlob(base64)
var myUrl = URL.createObjectURL(myBlob)
downloadFile(myUrl, name)
}
// downloadFileByBase64('data:image/png;base64,iVBORw..........太长了.....')
downloadFileByBase64('这里放入你的base64图片文件')表格下载的方法,其实与图片类似
接口请求示例
export function ExportSalesFlowVoListPage(data) {
return request({
url: `/server/salesFlow/exportSalesFlowVoList`,
method: "post",
data,
responseType: "blob" // 一定要写
});
}
保存到本地
let res = await batchExportPaymentInfo(this.doPaymentParams) // 获取文档流结果
let blob = new Blob([res]) // 生成本地路径文件
let downloadElement = document.createElement('a')
let href = window.URL.createObjectURL(blob) //创建下载的链接
downloadElement.href = href
downloadElement.download = '打款订单.xls' //下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click() //点击下载
document.body.removeChild(downloadElement) //下载完成移除元素
window.URL.revokeObjectURL(href) //释放掉blob对象小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧