移动端使用html2canvas截图并下载,已经获取到base64,如何在移动端(安卓、IOS)下载图片呢?(我使用的a标签download在本地可以下载,但是手机上不行)
15条回答 默认 最新
关注获得1.00元问题酬金 base64图片转文件并下载
base64ImgtoFile(dataurl, filename = '文件名' + Date.now()) { // 将base64格式分割:['data:image/png;base64','XXXX'] const arr = dataurl.split(','); // .*? 表示匹配任意字符到下一个符合条件的字符 刚好匹配到: // image/png const mime = arr[0].match(/:(.*?);/)[1]; // image/png // [image,png] 获取图片类型后缀 const suffix = mime.split('/')[1]; // png const bstr = atob(arr[1]); // atob() 方法用于解码使用 base-64 编码的字符串 let n = bstr.length; const u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], `${filename}.${suffix}`, { type: mime, }); },解决 无用评论 打赏 举报