打印canvas图像的dataurl
const imgDataUrl = canvas.toDataURL();console.log(imgDataUrl)
上传的图像编码
=====================1,把base64编码转为文件对象==========================第一个参数dataUrl是一个base64的字符串。第二个参数是文件名可以随意命名funtion base64toFile(dataurl, filename = 'file') {let arr = dataurl.split(',');let mime = arr[0].match(/:(.*?);/)[1]; //正则表达式匹配// suffix是该文件的后缀let suffix = mime.split('/')[1];// atob 对经过 base-64 编码(方便显示,数据结构实验压缩编码的目标格式)的字符串进行解码,bstr为二进制码let bstr = atob(arr[1]);// n 是解码后的长度let n = bstr.length;// Uint8Array 数组类型表示一个 8 位无符号整型数组 初始值都是 数子0let u8arr = new Uint8Array(n);// charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数while (n--) {u8arr[n] = bstr.charCodeAt(n);}// new File返回File对象 第一个参数是 ArraryBuffer 或 Bolb 或Arrary 第二个参数是文件名// 第三个参数是 要放到文件中的内容的 MIME 类型return new File([u8arr], `${filename}.${suffix}`, {type: mime,});},
let mime = arr[0].match(/:(.*?);/)[1];
:js正则表达式匹配