1轿秧、直接將base64轉(zhuǎn)file對(duì)象(有兼容問(wèn)題)(ie edge 360兼容模式)
//將base64轉(zhuǎn)換成file對(duì)象
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});
}
dataurl:base64
filename:文件名
2毅该、將base轉(zhuǎn)換成blob對(duì)象青伤,再將blob對(duì)象轉(zhuǎn)換成file對(duì)象。
//將base64轉(zhuǎn)換為blob
function dataURLtoBlob(dataurl) {
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 Blob([u8arr], {type: mime });
}
//將blob轉(zhuǎn)換成file
function blobToFile(theBlob, fileName){
theBlob.lastModifiedDate =new Date();
? ? theBlob.name = fileName;
? ? return theBlob;
}
?blobToFile(dataURLtoBlob(dataurl), fileName)丘跌;
dataurl:base64
filename:文件名