简介:WebUploader是百度WebFE(FEX)团队开发的一款以HTML5为主,FLASH为辅的简单现代文件上传组件。在不抛弃主流IE浏览器的情况下,可以充分发挥HTML5在现代浏览器中的优势。它使用原始的FLASHruntime,兼容IE6+、iOS6+、android4+。两组运行时的调用方式相同,用户可以随意选择。大文件分片并发上传,大大提高文件上传效率。分片、并发分片和并发相结合,将一个大文件分成多个块并发上传,大大提高了大文件的上传速度。当网络问题导致传输错误时,只需要重传错误的段,而不是整个文件。另外,分片传输可以实时跟踪上传进度。预览与压缩支持常用图片格式jpg、jpeg、gif、bmp、png预览与压缩,节省网络数据传输。解析jpeg中的meta信息,对各种方向做正确处理,压缩后上传图片的所有原始meta数据。多种方式添加文件,支持多文件选择、类型过滤、拖放(文件&文件夹)、图片粘贴功能。粘贴功能主要体现在当剪贴板中有图片数据时(QQ等截屏工具(Ctrl+ALT+A),在网页中右键点击图片点击复制),Ctrl+V可以添加这张图片文件。HTML5&FLASH兼容主流浏览器,接口一致,实现两套运行时支持。用户无需关心内部使用的是哪个内核。同时Flash部分不做任何UI相关的工作,方便不关心flash的用户扩展和定制业务需求。MD5二次传输。当文件较大且数量比较大时,支持上传前文件md5值校验。如果一致,可以直接跳过。.如果服务端和前端统一修改算法,取段md5,可以大大提高验证性能。下载webuploader并解压后,文件目录结构如下:Uploader.swf//样式文件webuploader.css//自定义版webuploader.custom.jswebuploader.custom.min.jswebuploader.fis.js//OnlyFlash版webuploader.flashonly.jswebuploader.flashonly.min.js//仅HTML5版webuploader.html5only.jswebuploader.html5only。min.js//完整版webuploader.jswebuploader.min.js//没有图像处理的版本。webuploader.noimage.jswebuploader.noimage.min.js//没有文件日志功能的版本(默认完整版有日志功能)webuploader.nolog.jswebuploader.nolog.min.js//没有图片处理的版本,包括HTML5和FLASH.webuploader.withoutimage.jswebuploader.withoutimage.min.js注意:这里的css文件很少,只是上传文件按钮的样式,其他样式需要自己写,也可以直接在当前vue组件样式中加入webuploader即可使用WebUploader上传文件,需要引入三种资源:JS、CSS、SWF。方法一:直接导入文件这里我们使用完全压缩版的webuploader.min.js,同时导入Uploader.swf和webuploader.css,这样就可以删除其他版本的文件,只留下这三个文件,并且将解压后的webuploader文件夹直接放在static文件夹下。在index.html中引入webuploader.min.js重启项目后报错,说是缺少jquery,打开源码webuploader.js可以看到webuploader依赖juqery或者Zepto,然后我们引入jquery,我们去jquery官网下载jquery,在index.html中引入,注意,一定要在webuploader.min中.js之前介绍过,这里我下载的是1.12.4版本方法二:模块化介绍下载webuplodernpminstallwebuploader--savedownloadjquerynpminstalljquery@1.12.4引入webuploder和jqueryimport$from'jquery'importWebUploaderfrom'webuploader'写一个DemoHTML部分App.vue
