jQuery File Upload文件上傳插件使用詳解
jQuery File Upload 是一個(gè)Jquery文件上傳組件,支持多文件上傳、取消、刪除,上傳前縮略圖預(yù)覽、列表顯示圖片大小,支持上傳進(jìn)度條顯示;支持各種動(dòng)態(tài)語(yǔ)言開(kāi)發(fā)的服務(wù)器端。
官網(wǎng)鏈接:https://github.com/blueimp/jQuery-File-Upload/wiki
特點(diǎn):拖放支持;上傳進(jìn)度條;圖像預(yù)覽;可定制和可擴(kuò)展的;兼容任何服務(wù)器端應(yīng)用平臺(tái)(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 顯示上傳進(jìn)度條:
$('#fileupload').fileupload({
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
}
});
3.2 需要一個(gè)<div>容器用來(lái)顯示進(jìn):
<div id="progress"> <div class="bar" style="width: 0%;"></div> </div>
4. API
4.1 Initialization:
在上傳按鈕上調(diào)用fileupload()方法;
示例:
$('#fileupload').fileupload();
4.2 Options :
1: url:請(qǐng)求發(fā)送的目標(biāo)url
Type: string
Example: '/path/to/upload/handler.json'
2.Type: 文件上傳HTTP請(qǐng)求方式,可以選擇“POST”,“PUT”或者"PATCH",
默認(rèn)"POST"
Type: string
Example: 'PUT'
3. dataType:希望從服務(wù)器返回的數(shù)據(jù)類型,默認(rèn)"json"
Type: string
Example: 'json'
4. autoUpload:默認(rèn)情況下,只要用戶點(diǎn)擊了開(kāi)始按鈕被添加至組件的文件會(huì)立即上傳。將autoUpload值設(shè)為true可以自動(dòng)上傳。
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 : 圖片預(yù)覽區(qū)域最大寬度
Example: 100 //單位:px
4.3 Callback Options:
使用方法一:函數(shù)屬性
實(shí)例:
$('#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);
});
}
});
使用方法二:綁定事件監(jiān)聽(tīng)函數(shù)
實(shí)例:
$('#fileupload')
.bind('fileuploaddrop', function (e, data) {/* ... */})
.bind('fileuploadchange', function (e, data) {/* ... */});
每個(gè)事件名稱都添加前綴:”fileupload”;
注意推薦使用第二種方法。
常用的回調(diào)函數(shù):
1. add: 當(dāng)文件被添加到上傳組件時(shí)被觸發(fā)
$('#fileupload').bind('fileuploadadd', function (e, data) {/* ... */});
或者$('#fileupload').on('fileuploadadd', function (e, data) {/* ... */});
2. processalways: 當(dāng)一個(gè)單獨(dú)的文件處理隊(duì)列結(jié)束(完成或失敗時(shí))觸發(fā)
3. progressall: 全局上傳處理事件的回調(diào)函數(shù)
Example:
$('#fileupload').on('fileuploadprogressall', function (e, data) { //進(jìn)度條顯示
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
});
4. fail : 上傳請(qǐng)求失敗時(shí)觸發(fā)的回調(diào)函數(shù),如果服務(wù)器返回一個(gè)帶有error屬性的json響應(yīng)這個(gè)函數(shù)將不會(huì)被觸發(fā)。
5. done : 上傳請(qǐng)求成功時(shí)觸發(fā)的回調(diào)函數(shù),如果服務(wù)器返回一個(gè)帶有error屬性的json響應(yīng)這個(gè)函數(shù)也會(huì)被觸發(fā)。
6. always : 上傳請(qǐng)求結(jié)束時(shí)(成功,錯(cuò)誤或者中止)都會(huì)被觸發(fā)。
以上所述是小編給大家介紹的jQuery File Upload文件上傳插件使用詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- jQuery插件ajaxfileupload.js實(shí)現(xiàn)上傳文件
- JQuery插件ajaxfileupload.js異步上傳文件實(shí)例
- 一個(gè)簡(jiǎn)單的jQuery插件ajaxfileupload.js實(shí)現(xiàn)ajax上傳文件例子
- 分享20多個(gè)很棒的jQuery 文件上傳插件或教程
- jQuery Ajax文件上傳(php)
- jquery組件WebUploader文件上傳用法詳解
- 原生JS和jQuery版實(shí)現(xiàn)文件上傳功能
- jquery ajax實(shí)現(xiàn)文件上傳功能實(shí)例代碼
- jQuery用FormData實(shí)現(xiàn)文件上傳的方法
- jquery實(shí)現(xiàn)異步文件上傳ajaxfileupload.js
相關(guān)文章
招聘網(wǎng)站基于jQuery實(shí)現(xiàn)自動(dòng)刷新簡(jiǎn)歷
本文介紹下招聘網(wǎng)站基于jQuery實(shí)現(xiàn)自動(dòng)刷新簡(jiǎn)歷的方法,十分的簡(jiǎn)單實(shí)用,有需要的朋友,參考下吧2015-05-05
jquery教程ajax請(qǐng)求json數(shù)據(jù)示例
這篇文章主要介紹了jquery獲取JSON對(duì)象中數(shù)據(jù)的示例,代碼中有注釋,大家參考使用吧2014-01-01
JQuery+drag.js上傳圖片并且實(shí)現(xiàn)圖片拖曳
這篇文章主要介紹了JQuery+drag.js上傳圖片并且實(shí)現(xiàn)圖片拖曳,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
jQuery實(shí)現(xiàn)級(jí)聯(lián)下拉框?qū)崙?zhàn)(5)
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)級(jí)聯(lián)下拉框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
為jQuery-easyui的tab組件添加右鍵菜單功能的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇為jQuery-easyui的tab組件添加右鍵菜單功能的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
基于jquery的關(guān)于動(dòng)態(tài)創(chuàng)建DOM元素的問(wèn)題
在我們實(shí)際的項(xiàng)目之中,相信有很多的朋友直接使用了以下的格式創(chuàng)建DOM元素。2010-12-12
jQuery實(shí)現(xiàn)精美的多級(jí)下拉菜單特效
這篇文章主要介紹了jQuery實(shí)現(xiàn)精美的多級(jí)下拉菜單特效,主要依托于jQuery的fg.menu.js插件來(lái)實(shí)現(xiàn)的,效果非常棒,推薦給大家。2015-03-03

