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动画效果代码3
Apr 03 Javascript
Mootools 1.2教程(3) 数组使用简介
Sep 14 Javascript
jquery isType() 类型判断代码
Feb 14 Javascript
判断在css加载完毕后执行后续代码示例
Sep 03 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
基于 Node.js 实现前后端分离
Apr 23 Javascript
js编写的treeview使用方法
Nov 11 Javascript
javascript学习之json入门
Dec 22 Javascript
jQuery解析json格式数据示例
Sep 01 jQuery
vue观察模式浅析
Sep 25 Javascript
vue自动路由-单页面项目(非build时构建)
Apr 30 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
Jul 05 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文件上传实例详解!!!
2007/01/02 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
javascript 函数使用说明
2010/04/07 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
pandas数据分组和聚合操作方法
2018/04/11 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Django  ORM 练习题及答案
2019/07/19 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
自我鉴定三原则
2014/01/13 职场文书
出国考察邀请函
2014/01/21 职场文书
教师自我反思材料
2014/02/14 职场文书
高中生操行评语
2014/04/25 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
瘦西湖导游词
2015/02/03 职场文书
综合实践活动报告
2015/02/05 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
Go语言入门exec的基本使用
2022/05/20 Golang