base64转blob:
//dataurl:base64的url fileType:要转的文件类型 urlToBlob (dataurl, fileType) { dataurl = dataurl.replace('-', '+').replace('_', '/').split(';base64,')[1] //以防生成的url字符串不规范 // var raw = decodeURIComponent(escape(window.atob(dataurl))) // 用decodeURIComponent防止base64编码错误 var raw = window.atob(dataurl) // 用decodeURIComponent防止base64编码错误 var rawlength = raw.length var uint8array = new Uint8Array(rawlength) for (var i = 0; i < rawlength; i++) { uint8array[i] = raw.charCodeAt(i) } var blob = new Blob([uint8array], {type: 'image/' + fileType}) return blob },
base64转file:
//dataurl:base64的url filename:文件名字 urlToFile (dataurl, filename) { // 将base64转换为文件 var arr = dataurl.split(',') var mime = arr[0].match(/:(.*?);/)[1] var bstr = atob(arr[1]) var n = bstr.length var u8arr = new Uint8Array(n) while (n--) { u8arr[n] = bstr.charCodeAt(n) } return new File([u8arr], filename, { type: 'png' }) },
blob转base64:
blobToDataURL(blob, callback) { let a = new FileReader(); a.onload = function (e) { callback(e.target.result); } a.readAsDataURL(blob); }
标签:dataurl,base64,raw,blob,new,var,bse64 From: https://www.cnblogs.com/larrywang/p/17686561.html