浏览器图片上传解决方案:预览、旋转、批量上传的JS实现

1 下载量 153 浏览量 更新于2024-08-28 收藏 114KB PDF 举报
浏览器图片选择预览、旋转、批量上传的JS代码实现 浏览器图片选择预览、旋转、批量上传是Web开发中常见的功能,需要解决浏览器兼容性问题,特别是IE版本的兼容性问题。下面是该功能的实现知识点总结: 1. 图片预览:IE浏览器使用progid:DXImageTransform.Microsoft.AlphaImageLoader filter来实现图片预览,chrome和firefox浏览器使用File API的file reader来实现图片预览。IE的filter可以组合使用,用空格隔开。 2. 图片旋转:IE浏览器使用progid:DXImageTransform.Microsoft.Matrix的filter来实现图片旋转,chrome和firefox浏览器使用canvas来实现图片旋转。IE的filter可以组合使用,用空格隔开。 3. 批量上传:可以使用不可见的iframe里的form动态添加input[type=file]来实现批量上传。chrome和firefox浏览器可以使用xhr来实现批量上传,但是需要特殊处理。 4. 实现上传图片不刷新本页面,又能反复选择文件,可以使用一个iframe专门维护一个input[type=file]的列表,比较偷巧。 5. 上传回调:可以使用javascript来处理上传回调,例如使用resultList->[‘file1’,‘file2’]来获取上传成功的filename,并使用javascript来删除预览图。 6. 图片旋转角度保存:可以使用javascript来保存图片旋转的角度,以便提交给服务端处理。 7. 命名后缀的序号:可以使用javascript来生成唯一的命名后缀的序号,以便区分不同的文件。 8. File API:File API是HTML5新增的API,提供了对文件的读取和上传功能,可以用来实现图片预览和上传。 9. canvas:canvas是HTML5新增的元素,提供了对图形和图像的渲染和操作功能,可以用来实现图片旋转和预览。 10. iframe:iframe是HTML元素,提供了对独立文档的嵌入功能,可以用来实现批量上传和图片预览。 11. xhr:xhr是AJAX技术的核心部分,提供了对服务器的异步通信功能,可以用来实现批量上传和图片上传。 12. javascript:javascript是客户端脚本语言,提供了对浏览器行为和页面交互的控制功能,可以用来实现图片预览、旋转、批量上传和上传回调等功能。 浏览器图片选择预览、旋转、批量上传的JS代码实现需要考虑浏览器兼容性问题,使用不同的技术和API来实现不同的功能,并且需要使用javascript来处理上传回调和图片旋转角度保存等功能。