vue 图片base64转化

import html2canvas from 'html2canvas'

html2canvas(canvasDom, options).then(canvas => {

//此时的图片是base64格式的,我们将图片格式转换一下

let type = 'png';

let imgData = canvas.toDataURL(type);

// 照片格式处理

let _fixType = function(type) {

type = type.toLowerCase().replace(/jpg/i, 'jpeg');

let r = type.match(/png|jpeg|bmp|gif/)[0];

return 'image/' + r;

};

imgData = imgData.replace(_fixType(type), 'image/octet-stream');

let filename = this.row.name + '的二维码分享.' + type;

this.saveFile(imgData, filename);

})

saveFile(data, filename) {

let save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');

save_link.href = data;

save_link.download = filename;

let event = document.createEvent('MouseEvents');

event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

save_link.dispatchEvent(event);

},

相关推荐
孤水寒月3 小时前
基于HTML的悬窗可拖动记事本
前端·css·html
祝余呀3 小时前
html初学者第一天
前端·html
脑袋大大的4 小时前
JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
开发语言·javascript·性能优化
速易达网络5 小时前
RuoYi、Vue CLI 和 uni-app 结合构建跨端全家桶方案
javascript·vue.js·低代码
耶啵奶膘5 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
JoJo_Way5 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
视频砖家6 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能
lyj1689976 小时前
vue-i18n+vscode+vue 多语言使用
前端·vue.js·vscode
小白变怪兽8 小时前
一、react18+项目初始化(vite)
前端·react.js
ai小鬼头8 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github