将base64位格式的图片下载保存到本地方法及代码
dearweb 发布:2021-11-23 11:14:40阅读:407将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对象
小礼物走一波,支持作者
赏支持一下还没有人赞赏,支持一波吧