WebUploader上传插件使用说明
WebUploader简述
-
具有两套运行时支持:HTML5与FLASH
-
分片、并发
-
预览、压缩
-
多途径添加文件
-
MD5验证
引入文件
-
虽然官方没说必须要引入JQuery库,但实际上需要引入
<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
<!--引入JS-->
<script type="text/javascript" src="js/jquery.min.js" ></script>
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
<!--SWF在初始化的时候指定,在后面将展示-->
需要修改下webuploader.css
-
需要修改的地方:把
.webuploader-pick
中的display:inline-block
样式去掉
上传分类
-
图片上传:单图上传 多图上传
-
文件上传
Webuploader初始化
-
使用
WebUploader.create
方法来初始化
var uploader = new WebUploader.Uploader({ //加载swf文件 swf: 'path_of_swf/Uploader.swf' // 其他配置项 // 文件接收服务端。 server: 'http://webuploader.duapp.com/server/fileupload.php', // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#picker', // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false });
HTML结构
-
在HTML文件中书写的结构如下:
<div id="picker">选择文件</div>
-
渲染之后得到的HTML结构如下:
<div id="picker" class="webuploader-container"> <div class="webuploader-pick">选择文件</div> <div id="rt_rt_1beac1omvmdp1mvd1ja91oap1pvm1" style="position: absolute; top: 0px; left: 0px; width: 94px; height: 38px; overflow: hidden; bottom: auto; right: auto;"> <input type="file" capture="camera" name="file" class="webuploader-element-invisible" multiple="multiple"> <label style="opacity: 0; width: 100%; height: 100%; display: block; cursor: pointer; background: rgb(255, 255, 255);"></label> </div> </div>
初始化配置项
var uploader = new WebUploader.Uploader({ // 加载swf文件 swf: 'path_of_swf/Uploader.swf' // 接收文件的服务端地址。 server: 'http://webuploader.duapp.com/server/fileupload.php', // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#picker', // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, // 是否自动上传 auto: true, // 指定接受哪些类型的文件 accept:{ title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' }, // 配置生成缩略图的选项 thumb: { width: 110, height: 110, // 图片质量,只有type为`image/jpeg`的时候才有效。 quality: 70, // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. allowMagnify: true, // 是否允许裁剪。 crop: true, // 为空的话则保留原有图片格式。 // 否则强制转换成指定的类型。 type: 'image/jpeg' }, // 是否要分片处理大文件上传 chunked: true, method: 'POST' // 还有其他配置项 });
WebUploader上传事件
-
fileQueued
选择需要上传的文件
后,文件就会加入文件队列
,并触发fileQueued事件
-
uploadProgress
上传进度回调事件,在文件上传中,多次调用此事件 -
uploadSuccess
当文件上传成功时触发 -
uploadError
当文件上传出错时触发。 -
uploadComplete
不管成功或者失败,文件上传完成时触发。 -
error
如果是3种情况就会触发:
1、文件数量超出
2、文件总大小超出
3、文件类型不满足 -
uploadFinished
当所有文件上传结束时触发 -
上传成功的事件触发顺序
-
上传失败的事件触发顺序
注意事项
-
当要作为
上传控件的html容器
一开始是隐藏
的话,初始化应该放在html容器显示
时进行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2017-12-25 数据库的隔离级别有哪几种?
2017-12-25 mysql几种存储引擎介绍
2017-12-25 解决脏读等并发问题
2017-12-25 两个大数相乘,写代码?
2017-12-25 两个大数相加,使用字符串模拟相加过程
2017-12-25 100!结果有多少个零?给出公式?
2017-12-25 将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为?