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 相关文章推荐
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 Javascript
2010年最佳jQuery插件整理
Dec 06 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
jQuery实现全选、反选和不选功能
Aug 16 jQuery
Vue插件从封装到发布的完整步骤记录
Feb 28 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
vue.js实现三级菜单效果
Oct 19 Javascript
vue print.js打印支持Echarts图表操作
Nov 13 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安装问题
2006/10/09 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php获取文件大小的方法
2014/02/26 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
Django继承自带user表并重写的例子
2019/11/18 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
贯彻学习两会心得体会范文
2014/03/17 职场文书
财产公证书
2014/04/10 职场文书
十佳党员事迹材料
2014/08/28 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers