浏览器图片上传解决方案:预览、旋转、批量上传的JS实现
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来处理上传回调和图片旋转角度保存等功能。
2019-08-03 上传
164 浏览量
2008-05-02 上传
2020-06-11 上传
2022-11-10 上传
2016-12-22 上传
2014-02-28 上传
2024-05-09 上传
2017-10-24 上传
weixin_38587705
- 粉丝: 0
- 资源: 930
最新资源
- mathematicalPendulum
- JavaScript-modules-in-browser:在JavaScript中使用ECMAScript模块
- NodaChat:基于 Node.js、Express 4、Jade、Bootstrap 和 Socket.IO 的简单聊天
- 毕业设计&课设--毕业设计之SpringCloud-B2C电子商务平台App端.zip
- jwt-rsa:在一个简单的界面中结合了jsonwetokens和node-rsa的包装器
- Vali-it-projektid:我的训练营文件
- Excel模板财务收支报表5.zip
- angular-contacts:管理系统联系人列表
- Autour_de_DAG:G. Vezzosi在2013年Spring在巴黎7举行的研讨会周期的注释。
- Excel模板项目测试用例表.zip
- esp32_php:Ejercicios de prueba de PHP
- ui5-middleware-code-coverage:用于UIt工具的代码覆盖率检测器
- protolog:为所有变量添加全局日志方法
- 【地产资料】XX地产 培训专员考勤表.zip
- teachPro:问题管理系统
- uuidtools:一个简单的通用唯一ID生成库