跟我学百度文件上传WebUpload插件及应用实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速 度。当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输 能够更加实时的跟踪上传进度。
客户端完全基于 JavaScript 的 浏览器文件上传器,不需要任何浏览器插件,但需要和 jQuery 框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成 N 个数据块依 次提交给服务 端处理,由服务端存储断点信息实现断点续传的功能;支持文件拖拽上传, 直接将文件拖拽到页面元素上方即可自动上传(默认元素是 body)。 (2)预览、压缩
支持常用图片格式 jpg,jpeg,gif,bmp,png 预览与压缩,节省网络数据传输。解析 jpeg 中 的 meta 信息,对于各种 orientation 做了正确的处理,同时压缩后上传保留图片的所有原始 meta 数据。 (3)多途径添加文件
支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。粘贴功能主要体现在 当有图片数据在剪切板中时(截屏工具如 QQ(Ctrl + ALT + A), 网页中右击图片点击复制),
杨教授工作室,版权所有1 ,盗版必究, 1/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
Ctrl + V 便可添加此图片文件。 (4)使用该插件可以在上传图片前预览图片,可限制单个文件大小和单次上传图片个数 (5)HTML5 & FLASH
兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内 核。同时 Flash 部分没有做任何 UI 相关的工作,方便不关心 flash 的用户扩展和自定义业务 需求。 (6)MD5 秒传
1.1.2 下载相关的系统库文件 1、下载的网址 /webuploader/download.html
杨教授工作室,版权所有2 ,盗版必究, 2/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
2、下载文件 点击湖将自动地转向到 https:///fex-team/webuploader/releases 的下载页面
// min 版本
├── webuploader.withoutimage.js
// 去除图片处理的版本,包括 HTML5 和
FLASH.
└── webuploader.withoutimage.min.js // min 版本
1.1.3 应用 WebUpLoad 插件
1、使用 Web Uploader 文件上传需要引入三种资源文件(JS、CSS 和 SWF) (1)-引入 CSS
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(2)引入 JS <script type="text/javascript" src="${pageContext.request.contextPath}/javascript/lib/webuploader.js"> </script>
// min 版本
├── webuploader.flashonly.js
// 只有 Flash 实现的版本。
├── webuploader.flashonly.min.js
// min 版本
├── webuploader.html5only.js
// 只有 Html5 实现的版本。
├── webuploader.html5only.minቤተ መጻሕፍቲ ባይዱjs
杨教授工作室 精心创作的优秀程序员 职实例
1.1.1 WebUpload 插件
1、WebUploader的以 HTML5 为主,FLASH
为辅的现代文件上传组件。在现代的浏览器里面能充分发挥 HTML5 的优势,同时又不摒 弃主流 IE 浏览器,沿用原来的 FLASH 运行时,兼容 IE6+,iOS 6+, android 4+。两套运行 时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件 上传效率。
为了考虑最大的兼容性,目前 WebUploader 同时实现了 HTML5 和 FLASH 两套运行 时,在不支持 HTML5 的浏览器里面自动切换成 FLASH 方式上传,这样的好处是,既能 在条件允许的情况保证 HTML5 发挥出其高效的优势,又能在不支持 HTML5 的浏览器里 面保证能正常运行。 2、主要的技术特性 (1)分片、并发
<link href="${pageContext.request.contextPath}/css/webuploader.css" rel="stylesheet" type="text/css">
如果不添加该 CSS 文件,将会导致相关的文件上传按钮的样式不正确。
杨教授工作室,版权所有4 ,盗版必究, 4/12 页
当文件体积大、量比较多时,支持上传前做文件 md5 值验证,一致则可直接跳过。如 果服务端与前端统一修改算法,取段 md5,可大大提升验证性能,耗时在 20ms 左右。 (7)易扩展、可拆分
采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。采用 AMD 规范组织代码, 清晰明了,方便高级玩家扩展。 3、官方网站 /webuploader/
(3)SWF 在初始化的时候指定,在后面将展示 如下为示例:swf: BASE_URL + '/javascript/lib/Uploader.swf',
2、自行提供 UI 界面组件 WebUploader 只包含文件上传的底层实现,不包括 UI 部分。所以交互方面可以自由发
杨教授工作室,版权所有3 ,盗版必究, 3/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
3、下载包中包含以下文件
├── Uploader.swf
// SWF 文件,当使用 Flash 运行时需要引入。
├── webuploader.js
// 完全版本。
├── webuploader.min.js
客户端完全基于 JavaScript 的 浏览器文件上传器,不需要任何浏览器插件,但需要和 jQuery 框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成 N 个数据块依 次提交给服务 端处理,由服务端存储断点信息实现断点续传的功能;支持文件拖拽上传, 直接将文件拖拽到页面元素上方即可自动上传(默认元素是 body)。 (2)预览、压缩
支持常用图片格式 jpg,jpeg,gif,bmp,png 预览与压缩,节省网络数据传输。解析 jpeg 中 的 meta 信息,对于各种 orientation 做了正确的处理,同时压缩后上传保留图片的所有原始 meta 数据。 (3)多途径添加文件
支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。粘贴功能主要体现在 当有图片数据在剪切板中时(截屏工具如 QQ(Ctrl + ALT + A), 网页中右击图片点击复制),
杨教授工作室,版权所有1 ,盗版必究, 1/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
Ctrl + V 便可添加此图片文件。 (4)使用该插件可以在上传图片前预览图片,可限制单个文件大小和单次上传图片个数 (5)HTML5 & FLASH
兼容主流浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内 核。同时 Flash 部分没有做任何 UI 相关的工作,方便不关心 flash 的用户扩展和自定义业务 需求。 (6)MD5 秒传
1.1.2 下载相关的系统库文件 1、下载的网址 /webuploader/download.html
杨教授工作室,版权所有2 ,盗版必究, 2/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
2、下载文件 点击湖将自动地转向到 https:///fex-team/webuploader/releases 的下载页面
// min 版本
├── webuploader.withoutimage.js
// 去除图片处理的版本,包括 HTML5 和
FLASH.
└── webuploader.withoutimage.min.js // min 版本
1.1.3 应用 WebUpLoad 插件
1、使用 Web Uploader 文件上传需要引入三种资源文件(JS、CSS 和 SWF) (1)-引入 CSS
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(2)引入 JS <script type="text/javascript" src="${pageContext.request.contextPath}/javascript/lib/webuploader.js"> </script>
// min 版本
├── webuploader.flashonly.js
// 只有 Flash 实现的版本。
├── webuploader.flashonly.min.js
// min 版本
├── webuploader.html5only.js
// 只有 Html5 实现的版本。
├── webuploader.html5only.minቤተ መጻሕፍቲ ባይዱjs
杨教授工作室 精心创作的优秀程序员 职实例
1.1.1 WebUpload 插件
1、WebUploader的以 HTML5 为主,FLASH
为辅的现代文件上传组件。在现代的浏览器里面能充分发挥 HTML5 的优势,同时又不摒 弃主流 IE 浏览器,沿用原来的 FLASH 运行时,兼容 IE6+,iOS 6+, android 4+。两套运行 时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件 上传效率。
为了考虑最大的兼容性,目前 WebUploader 同时实现了 HTML5 和 FLASH 两套运行 时,在不支持 HTML5 的浏览器里面自动切换成 FLASH 方式上传,这样的好处是,既能 在条件允许的情况保证 HTML5 发挥出其高效的优势,又能在不支持 HTML5 的浏览器里 面保证能正常运行。 2、主要的技术特性 (1)分片、并发
<link href="${pageContext.request.contextPath}/css/webuploader.css" rel="stylesheet" type="text/css">
如果不添加该 CSS 文件,将会导致相关的文件上传按钮的样式不正确。
杨教授工作室,版权所有4 ,盗版必究, 4/12 页
当文件体积大、量比较多时,支持上传前做文件 md5 值验证,一致则可直接跳过。如 果服务端与前端统一修改算法,取段 md5,可大大提升验证性能,耗时在 20ms 左右。 (7)易扩展、可拆分
采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。采用 AMD 规范组织代码, 清晰明了,方便高级玩家扩展。 3、官方网站 /webuploader/
(3)SWF 在初始化的时候指定,在后面将展示 如下为示例:swf: BASE_URL + '/javascript/lib/Uploader.swf',
2、自行提供 UI 界面组件 WebUploader 只包含文件上传的底层实现,不包括 UI 部分。所以交互方面可以自由发
杨教授工作室,版权所有3 ,盗版必究, 3/12 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
3、下载包中包含以下文件
├── Uploader.swf
// SWF 文件,当使用 Flash 运行时需要引入。
├── webuploader.js
// 完全版本。
├── webuploader.min.js