base64转blob
const base64ToBlob = function(base64Data) {
let arr = base64Data.split(','),
fileType = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
l = bstr.length,
u8Arr = new Uint8Array(l);
while (l--) {
u8Arr[l] = bstr.charCodeAt(l);
}
return new Blob([u8Arr], {
type: fileType
});
};
base64 转 file
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.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 File([u8arr], filename, { type: mime });
}
file 转 base64
$(".myUpload").change(function(){
var imgFile = this.files[0];
//异步读取文件
var reader = new FileReader();
// 调用reader.readAsDataURL()方法,把图片转成base64
reader.readAsDataURL(imgFile);
reader.onload = function(evt) {
var imgBase64Data = evt.target.result;
//base64数据去头
var head = imgBase64Data.indexOf("4") + 2;
var base64Data = imgBase64Data.substring(head, imgBase64Data.length - head);
}
}