1.base64转blob(二进制数据)
/** * 将以base64的图片url数据转换为Blob * @param urlData 用url方式表示的base64图片数据 */ function convertBase64UrlToBlob(urlData){ var arr = urlData.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while(n--){ u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], {type:mime}); }
2.blob转base64
/** * 借助FileReader实现转化 * return base64Url */ function blobToDataURL(blob) { let a = new FileReader(); a.onload = function (e) { return e.target.result; } a.readAsDataURL(blob); }
blob将图片以二进制数据的形式传给后台,据说是更加友好,我没有进行过多研究。