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 相关文章推荐
一个网马的tips实现分析
Nov 28 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
Mar 13 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
Mar 13 Javascript
JavaScript进阶练习及简单实例分析
Jun 03 Javascript
Bootstrap基本样式学习笔记之标签(5)
Dec 07 Javascript
微信小程序之电影影评小程序制作代码
Aug 03 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
基于JavaScript实现瀑布流布局
Aug 15 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
html5调用摄像头截图功能
Jan 18 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
PHP crc32()函数讲解
2019/02/14 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Python内置函数locals和globals对比
2020/04/28 Python
浅谈python 类方法/静态方法
2020/09/18 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
酒后驾车标语
2014/06/30 职场文书
规范化管理年活动总结
2014/08/29 职场文书
个人年终总结范文
2015/03/09 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
MySQL分库分表详情
2021/09/25 MySQL
pandas中关于apply+lambda的应用
2022/02/28 Python