位置:首页 > web前端 > javascript

将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对象


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看