首页 > 编程知识 正文

js怎么把图片转成二进制,base64转换

时间:2023-05-04 21:49:42 阅读:13821 作者:898

最近的项目需要实现将图像的base64编码转换为file文件的功能,然后才能上载到服务。 最初直接以new File () )方式进行转换,但主要浏览器均基本支持。 Android也没问题,但是ios系统中有漏洞,ios11.4以下的系统上载失败。 错误的发现是new File (。 该方法与ios系统不兼容,只有其他方法。 最后找到的方法如下。

将base64转换为blob —— blob并转换为file

该方法通过测试,解决了new File ()与ios系统不兼容的问题。 将两种方法的代码从base64粘贴到file文件中。

使用new File ()将base64转换为file文件。 这种方式需要考虑浏览器的兼容性。

将base64转换为文件dataurltofile : function (数据URL,文件名) ({ var arr=dataurl.split ),mime=arr(0).matcccc ) [1],bstr=atob[1],n=bstr.length,u8arr=new Uint8Array(n; while(n-- ) u8ARR[n]=bstr.charcodeat ) n; }返回新文件([ u8arr ],filename,{ type: mime } );//varfile=调用dataurltofile (base64 data,imgName ); 将base64转换为blob,然后将blob转换为file文件,没有浏览器不兼容的问题。

将base64添加到blobdataurltoblob 3360 function (data URL ) { var arr=dataurl.split、mime=ARR[0].match )/330 ); [1],bstr=atob[1],n=bstr.length,u8arr=new Uint8Array(n; while(n-- ) u8ARR[n]=bstr.charcodeat ) n; }返回新blob ([ u8arr ],{ type: mime } );将blob转换为fileblobtofile 3360 function (the blob,fileName ) ) the blob.last modified date=new date ); theBlob.name=fileName; 返回蓝牙;//var blob=调用dataurltoblob (base64 data )的varfile=blobtofile(blob,imgName; 方法2现在可以在项目中正常使用。

本人酷酷的玄关,如果有不正确的地方,欢迎大家指出快乐的爆米花。

参考博客地址: https://blog.csdn.net/happy elina/article/details/53556260? utm_source=blogxgwz1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。