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 相关文章推荐
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
asp知识整理笔记3(问答模式)
Sep 27 Javascript
AngularJS递归指令实现Tree View效果示例
Nov 07 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
Javascript中常用类型的格式化方法小结
Dec 26 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
May 11 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
node+express框架中连接使用mysql(经验总结)
Nov 10 Javascript
谈谈React中的Render Props模式
Dec 06 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 Javascript
js实现时分秒倒计时
Dec 03 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和ACCESS写聊天室(九)
2006/10/09 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
vue组件实例解析
2017/01/10 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
Python实现CET查分的方法
2015/03/10 Python
Python实现栈的方法
2015/05/26 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
Python如何访问字符串中的值
2020/02/09 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
python实现银行账户系统
2021/02/22 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
歌唱比赛主持词
2014/03/18 职场文书
学校工作推荐信范文
2014/07/11 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技