jquery组件WebUploader文件上传用法详解


Posted in Javascript onOctober 23, 2020

WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件,下文来为各位演示一下关于jquery WebUploader文件上传组件的用法。

使用WebUploader还可以批量上传文件、支持缩略图等等众多参数选项可设置,以及多个事件方法可调用,你可以随心所欲的定制你要的上传组件。

jquery组件WebUploader文件上传用法详解

接下来我以图片上传实例,给大家讲解如何使用WebUploader。

HTML

我们首先将css和相关js文件加载。

<link rel="stylesheet" type="text/css" href="css/webuploader.css"> 
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> 
<script type="text/javascript" src="js/webuploader.min.js"></script>

然后我们需要准备一个按钮#imgPicker,和一个用来存放添加的文件信息列表的容器#fileList,在body中加入如下代码:

<div id="uploadimg"> 
 <div id="fileList" class="uploader-list"></div> 
 <div id="imgPicker">选择图片</div> 
</div>

JAVASCRIPT

首先创建Web Uploader实例:

var uploader = WebUploader.create({ 
 auto: true, // 选完文件后,是否自动上传 
 swf: 'js/Uploader.swf', // swf文件路径 
 server: 'upload.php', // 文件接收服务端 
 pick: '#imgPicker', // 选择文件的按钮。可选 
 // 只允许选择图片文件。 
 accept: { 
 title: 'Images', 
 extensions: 'gif,jpg,jpeg,bmp,png', 
 mimeTypes: 'image/*' 
 } 
});

接着监听fileQueued事件,即当有文件添加进来的时候,通过uploader.makeThumb来创建图片预览图。

uploader.on( 'fileQueued', function( file ) { 
 var $list = $("#fileList"), 
 $li = $( 
 '<div id="' + file.id + '" class="file-item thumbnail">' + 
 '<img>' + 
 '<div class="info">' + file.name + '</div>' + 
 '</div>' 
 ), 
 $img = $li.find('img'); 
 
 
 // $list为容器jQuery实例 
 $list.append( $li ); 
 
 // 创建缩略图 
 uploader.makeThumb( file, function( error, src ) { 
 if ( error ) { 
 $img.replaceWith('<span>不能预览</span>'); 
 return; 
 } 
 
 $img.attr( 'src', src ); 
 }, 100, 100 ); //100x100为缩略图尺寸 
});

最后是上传状态提示了,当文件上传过程中, 上传成功,上传失败,上传完成都分别对应uploadProgress, uploadSuccess,
uploadError, uploadComplete事件。

// 文件上传过程中创建进度条实时显示。 
uploader.on( 'uploadProgress', function( file, percentage ) { 
 var $li = $( '#'+file.id ), 
 $percent = $li.find('.progress span'); 
 
 // 避免重复创建 
 if ( !$percent.length ) { 
 $percent = $('<p class="progress"><span></span></p>') 
 .appendTo( $li ) 
 .find('span'); 
 } 
 
 $percent.css( 'width', percentage * 100 + '%' ); 
}); 
 
// 文件上传成功,给item添加成功class, 用样式标记上传成功。 
uploader.on( 'uploadSuccess', function( file, res ) { 
 console.log(res.filePath);//这里可以得到上传后的文件路径 
 $( '#'+file.id ).addClass('upload-state-done'); 
}); 
 
// 文件上传失败,显示上传出错。 
uploader.on( 'uploadError', function( file ) { 
 var $li = $( '#'+file.id ), 
 $error = $li.find('div.error'); 
 
 // 避免重复创建 
 if ( !$error.length ) { 
 $error = $('<div class="error"></div>').appendTo( $li ); 
 } 
 
 $error.text('上传失败'); 
}); 
 
// 完成上传完了,成功或者失败,先删除进度条。 
uploader.on( 'uploadComplete', function( file ) { 
 $( '#'+file.id ).find('.progress').remove(); 
});

到这里,我们就实现了一个简单的图片上传实例,点击“选择图片”会弹出文件选择对话框,当选择图片后,即进入上传图片流程,会将图片对应的缩略图现实在列表里。

常用选项设置与事件调用

Web Uploader提供了丰富的API选项设置与事件调用。

jquery组件WebUploader文件上传用法详解

jquery组件WebUploader文件上传用法详解

常用的事件说明:

jquery组件WebUploader文件上传用法详解

更多精彩内容,请点击《jQuery上传操作汇总》,《ajax上传技术汇总》进行深入学习和研究。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何做到打开一个页面,过几分钟自动转到另一页面
Apr 20 Javascript
JavaScript 密码强度判断代码
Sep 05 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
Mar 23 Javascript
Jquery 滑入滑出效果实现代码
Mar 27 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
JS修改css样式style浅谈
May 06 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
javascript数组详解
Oct 22 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
Vue.js 和 MVVM 的注意事项
Nov 07 #Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 #Javascript
基于Phantomjs生成PDF的实现方法
Nov 07 #Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
Nov 07 #Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 #Javascript
jQuery插件WebUploader实现文件上传
Nov 07 #Javascript
jQuery利用sort对DOM元素进行排序操作
Nov 07 #Javascript
You might like
一个更简单的无限级分类菜单代码
2007/01/16 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php缓冲输出实例分析
2015/01/05 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
python通过yield实现数组全排列的方法
2015/03/18 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python正则表达式常用函数总结
2017/06/24 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
python tkinter canvas使用实例
2019/11/04 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
婚礼主持词开场白
2014/03/13 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
2014年保管员工作总结
2014/11/18 职场文书
MySQL 数据类型详情
2021/11/11 MySQL
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android