js图片base64转文件的方式
最近因为一个项目的https请求对数据大小限制,需要压缩图片上传。需要文件转base64,base64转文件上传。
new File()
之前看到很多网上的说new File()的方法在ios系统不兼容,但是我得到得结果是:在ios系统,手机企业微信上实践是成功,反而是(new Blob)方法行不通。看实现:
function base64ToFile(dataurl,filename){
var arr=dataurl.split(’,’)
mine=arr.match(/: (.*?);/)[1]
var bstr=atob(arr[1]);
var n=bstr.length
var u8arr=new Uint8Array(n)
while(n–){
u8arr[n]=bstr.charCodeAt(n)
}
var blob=new Blob([u8arr],{type:mine})
blob.lastModifienDate=new Date()
blob.name=filename
var file=new file(blob)
return file
}
第一次写,写得不好,请多指教