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 相关文章推荐
两个DIV等高的JS的实现代码
Dec 23 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
jquery实现仿新浪微博评论滚动效果
Aug 06 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
Jan 28 Javascript
微信小程序 底部导航栏目开发资料
Dec 05 Javascript
Bootstrap缩略图的创建方法
Mar 22 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
微信小程序监听用户登录事件的实现方法
Nov 11 Javascript
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
虫族 Zerg 热键控制
2020/03/14 星际争霸
UCenter Home二次开发指南
2009/05/28 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
PHP _construct()函数讲解
2019/02/03 PHP
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
基于Python实现文件大小输出
2016/01/11 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
python程序封装为win32服务的方法
2021/03/07 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
SQL SERVER面试资料
2013/03/30 面试题
武汉瑞得软件笔试题
2015/10/27 面试题
一年级小学生评语
2014/04/22 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle