先说结论:下载图片是打开一个单独的页面,手动保存
本地的图片base64直接下载,不生效,base64转为blob对象下载,不生效;
解决方法:该图片上传到阿里云,然后使用链接下载;
/**
* 在本地进行文件保存
* @param {String} content 要保存到本地的图片数据 base64
* @param {String} fileName 文件名
*/
downloadFile(fileName, content) {
let aLink = document.createElement('a');
let evt = document.createEvent('HTMLEvents');
evt.initEvent('click', true, true); // initEvent 不加后两个参数在FF下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为
aLink.download = fileName;
aLink.href = content;
aLink.dispatchEvent(
new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window
})
); // 兼容火狐
},