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 特殊字符
Apr 05 Javascript
javascript新手语法小结
Jun 15 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
javascript获取本机操作系统类型的方法
Aug 13 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
May 17 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
JS实现间歇滚动的运动效果实例
Dec 22 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
vue操作dom元素的3种方法示例
Sep 20 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
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
php多线程并发实现方法
2016/09/30 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
在Express中提供静态文件的实现方法
2019/10/17 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
Python类的多重继承问题深入分析
2014/11/09 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
django中使用POST方法获取POST数据
2019/08/20 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
python 实现多维数组(array)排序
2020/02/28 Python
Python post请求实现代码实例
2020/02/28 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
网上卖盒饭创业计划书范文
2014/02/07 职场文书
网络编辑职责
2014/03/01 职场文书
导游词格式
2015/02/13 职场文书
工地材料员岗位职责
2015/04/11 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技