![980ef4abe7fc71ef80aeae6bd99cd2ac.png](https://i-blog.csdnimg.cn/blog_migrate/1cde7fa68ddf7c1176a180f72166515a.jpeg)
js图片上传组件:
基本要求:
1.上传的图片可预览,可删除,可被覆盖更新
2.要求图片格式为jpg和png,大小不能超过2M
新加需求:
1.模拟回显,可用本地存储(实际上的回显是通过后台传过来的url)
2.写传给后台的方法
3.解决浏览器的兼容性,主要解决读取文件功能和传给后台的兼容性
整体感受就是:原理IE,珍爱生命。IE整体都不支持localstorage,但是IE10 11和谷歌和火狐都是一样的读取文件方式,IE9以下要考虑兼容的方法。所以在兼容方面,分了三种情况的兼容。
传给后台的方法,因为IE不支持,所以一般用以前的老方式,form表单提交或者使用JQ的封装好的插件。
其他浏览器就能够支持三种格式方式,我这里因为都是拿到的文件格式,所以用的第一种,分别是:file格式、base64(如果要兼容IE的话就不好转换,尝试了网上的方法都不行)、Blob流格式(同前面)。
下一个版本:不考虑兼容性的情况下,实现文件的拖拽上传,可使用H5的drag API
实现如下:
![a09ab76dde151ae4ca6274f9a962daf7.png](https://i-blog.csdnimg.cn/blog_migrate/a6414d6e289dc996800615b998233e03.jpeg)
————————————————
版权声明:本文为CSDN博主「wj_秦桑低绿枝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
用原生js写图片上传组件v2.0(还有新版本)_qinsangdilvzhi的博客-CSDN博客_原生上传图片组件blog.csdn.net![c7db67083b895b48901720387e85ba36.png](https://i-blog.csdnimg.cn/blog_migrate/10e7643120e11e2df9c6aed96457d8fa.png)