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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 Javascript
CSS和Javascript简单复习资料
Jun 29 Javascript
最短的IE判断代码
Mar 13 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
js运动动画的八个知识点
Mar 12 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
windows下vue-cli及webpack搭建安装环境
Apr 25 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
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
禁止空格提交表单的js代码
2013/11/17 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
javascript基本类型详解
2014/11/28 Javascript
AngularJS内置指令
2015/02/04 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
Javascript数组循环遍历之forEach详解
2016/11/07 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
python实现桌面托盘气泡提示
2019/07/29 Python
高三语文教学反思
2014/01/15 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
中秋节晚会开场白
2015/05/29 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS