WebUploader 文件上传 [![Build Status](https://secure.travis-ci.org/fex-team/webuploader.png?branch=master)](http://travis-ci.org/fex-team/webuploader) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/) ======== WebUploader是一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,延用原来的FLASH运行时,兼容IE6+,Andorid 4+,IOS 6+。两套运行时,同样的调用方式,可供用户任意选用。 支持大文件分片并发上传,极大的提高了文件上传效率。 - 官网: http://fex.baidu.com/webuploader/ - ISSUES:https://github.com/fex-team/webuploader/issues ## 支持 **代码肯定存在很多不足和需要优化的地方,欢迎大家提交 [pr](https://help.github.com/articles/using-pull-requests)。**感谢**以下代码贡献者, 排名不分先后。** [@zensh](https://github.com/zensh),[@ushelp](https://github.com/ushelp),[@duanlixin](https://github.com/duanlixin)。 ## 特性 ### 分片、并发 分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。 ### 预览、压缩 支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。 解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留图片的所有原始meta数据。 ### 多途径添加文件 支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。 粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击图片点击复制),Ctrl + V便可添加此图片文件。 ### HTML5 & FLASH 兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。 同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。 ### MD5秒传 当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。 如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。 ### 易扩展、可拆分 采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。 采用AMD规范组织代码,清晰明了,方便高级玩家扩展。