jQuery File Upload文件上传插件使用详解


Posted in Javascript onDecember 06, 2016

 jQuery File Upload 是一个Jquery文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。

官网链接:https://github.com/blueimp/jQuery-File-Upload/wiki

特点:拖放支持;上传进度条;图像预览;可定制和可扩展的;兼容任何服务器端应用平台(PHP, Python, Ruby on Rails, Java, Node.js, Go etc.)。

使用方法:

1. 需要加载的js文件:

jquey-1.8.3.min.js

jquery-ui-widget.js

jquery.iframe-transport.js

jquery.fileupload.js

2. html代码:

<input id="fileupload" type="file" name="files[]" data-url="server/php/" multiple>

3. js代码:

$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});

3.1 显示上传进度条: 

 $('#fileupload').fileupload({
progressall: function (e, data) {

var progress = parseInt(data.loaded / data.total * 100, 10);

$('#progress .bar').css(

'width',

progress + '%'

);

}

});

3.2 需要一个<div>容器用来显示进:

 <div id="progress">
<div class="bar" style="width: 0%;"></div>

</div>

4. API

4.1 Initialization:

在上传按钮上调用fileupload()方法;

示例:

$('#fileupload').fileupload();

4.2 Options :

1: url:请求发送的目标url

Type: string

Example: '/path/to/upload/handler.json'

2.Type: 文件上传HTTP请求方式,可以选择“POST”,“PUT”或者"PATCH",

默认"POST"

Type: string

Example: 'PUT'

3. dataType:希望从服务器返回的数据类型,默认"json"

Type: string

Example: 'json'

4. autoUpload:默认情况下,只要用户点击了开始按钮被添加至组件的文件会立即上传。将autoUpload值设为true可以自动上传。

Type: boolean

Default: true

5. acceptFileTypes:允许上传的的文件类型

Example: /(\.|\/)(gif|jpe?g|png|xlsx)$/i

6. maxFileSize: 最大上传文件大小

Example: 999000 (999KB) //单位:B

7. minFileSize:最小上传文件大小

Example: 100000 (100KB) //单位:B

8.previewMaxWidth : 图片预览区域最大宽度

Example: 100 //单位:px

4.3 Callback Options:

使用方法一:函数属性

实例:

$('#fileupload').fileupload({
drop: function (e, data) {

$.each(data.files, function (index, file) {

alert('Dropped file: ' + file.name);

});

},

change: function (e, data) {

$.each(data.files, function (index, file) {

alert('Selected file: ' + file.name);

});

}

});

使用方法二:绑定事件监听函数

实例:

$('#fileupload')

.bind('fileuploaddrop', function (e, data) {/* ... */})


.bind('fileuploadchange', function (e, data) {/* ... */});

每个事件名称都添加前缀:”fileupload”;

注意推荐使用第二种方法。

常用的回调函数:

1. add: 当文件被添加到上传组件时被触发

$('#fileupload').bind('fileuploadadd', function (e, data) {/* ... */});

或者$('#fileupload').on('fileuploadadd', function (e, data) {/* ... */});

2. processalways: 当一个单独的文件处理队列结束(完成或失败时)触发

3. progressall: 全局上传处理事件的回调函数

Example:

$('#fileupload').on('fileuploadprogressall', function (e, data) { //进度条显示
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
});

4. fail : 上传请求失败时触发的回调函数,如果服务器返回一个带有error属性的json响应这个函数将不会被触发。

5. done : 上传请求成功时触发的回调函数,如果服务器返回一个带有error属性的json响应这个函数也会被触发。

6. always : 上传请求结束时(成功,错误或者中止)都会被触发。

以上所述是小编给大家介绍的jQuery File Upload文件上传插件使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
发布一个基于javascript的动画类 Fx.js
Nov 05 Javascript
Javscript删除数组中指定元素并返回新数组
Mar 06 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
浅谈javascript 函数内部属性
Jan 21 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
详解关于element级联选择器数据回显问题
Feb 20 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
Vue实现按钮级权限方案
Nov 21 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
vue2.0开发实践总结之入门篇
Dec 06 #Javascript
微信小程序中单位rpx和rem的使用
Dec 06 #Javascript
JavaScript定时器实现的原理分析
Dec 06 #Javascript
原生js实现弹出层登录拖拽功能
Dec 05 #Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 #Javascript
原生js编写基于面向对象的分页组件
Dec 05 #Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 #Javascript
You might like
PHP 八种基本的数据类型小结
2011/06/01 PHP
php实现的ping端口函数实例
2014/11/12 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
javascript遍历控件实例详细解析
2014/01/10 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
layui实现三级导航菜单
2019/07/26 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
python中验证码连通域分割的方法详解
2018/06/04 Python
python实现tail -f 功能
2020/01/17 Python
python deque模块简单使用代码实例
2020/03/12 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
广州盈通面试题
2015/12/05 面试题
学院书画协会部门职责
2013/11/28 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
会计专业求职信
2014/08/10 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
出纳试用期自我评价
2015/03/10 职场文书
面试通知单大全
2015/04/20 职场文书