jQuery File Upload文件上傳插件使用詳解
jQuery File Upload 是一個Jquery文件上傳組件,支持多文件上傳、取消、刪除,上傳前縮略圖預(yù)覽、列表顯示圖片大小,支持上傳進度條顯示;支持各種動態(tài)語言開發(fā)的服務(wù)器端。
官網(wǎng)鏈接:https://github.com/blueimp/jQuery-File-Upload/wiki
特點:拖放支持;上傳進度條;圖像預(yù)覽;可定制和可擴展的;兼容任何服務(wù)器端應(yīng)用平臺(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:
在上傳按鈕上調(diào)用fileupload()方法;
示例:
$('#fileupload').fileupload();
4.2 Options :
1: url:請求發(fā)送的目標(biāo)url
Type: string
Example: '/path/to/upload/handler.json'
2.Type: 文件上傳HTTP請求方式,可以選擇“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)情況下,只要用戶點擊了開始按鈕被添加至組件的文件會立即上傳。將autoUpload值設(shè)為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 : 圖片預(yù)覽區(qū)域最大寬度
Example: 100 //單位:px
4.3 Callback Options:
使用方法一:函數(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)聽函數(shù)
實例:
$('#fileupload') .bind('fileuploaddrop', function (e, data) {/* ... */}) .bind('fileuploadchange', function (e, data) {/* ... */});
每個事件名稱都添加前綴:”fileupload”;
注意推薦使用第二種方法。
常用的回調(diào)函數(shù):
1. add: 當(dāng)文件被添加到上傳組件時被觸發(fā)
$('#fileupload').bind('fileuploadadd', function (e, data) {/* ... */});
或者$('#fileupload').on('fileuploadadd', function (e, data) {/* ... */});
2. processalways: 當(dāng)一個單獨的文件處理隊列結(jié)束(完成或失敗時)觸發(fā)
3. progressall: 全局上傳處理事件的回調(diào)函數(shù)
Example:
$('#fileupload').on('fileuploadprogressall', function (e, data) { //進度條顯示 var progress = parseInt(data.loaded / data.total * 100, 10); $('#progress .progress-bar').css( 'width', progress + '%' ); });
4. fail : 上傳請求失敗時觸發(fā)的回調(diào)函數(shù),如果服務(wù)器返回一個帶有error屬性的json響應(yīng)這個函數(shù)將不會被觸發(fā)。
5. done : 上傳請求成功時觸發(fā)的回調(diào)函數(shù),如果服務(wù)器返回一個帶有error屬性的json響應(yīng)這個函數(shù)也會被觸發(fā)。
6. always : 上傳請求結(jié)束時(成功,錯誤或者中止)都會被觸發(fā)。
以上所述是小編給大家介紹的jQuery File Upload文件上傳插件使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- jQuery插件ajaxfileupload.js實現(xiàn)上傳文件
- JQuery插件ajaxfileupload.js異步上傳文件實例
- 一個簡單的jQuery插件ajaxfileupload.js實現(xiàn)ajax上傳文件例子
- 分享20多個很棒的jQuery 文件上傳插件或教程
- jQuery Ajax文件上傳(php)
- jquery組件WebUploader文件上傳用法詳解
- 原生JS和jQuery版實現(xiàn)文件上傳功能
- jquery ajax實現(xiàn)文件上傳功能實例代碼
- jQuery用FormData實現(xiàn)文件上傳的方法
- jquery實現(xiàn)異步文件上傳ajaxfileupload.js
相關(guān)文章
jquery實現(xiàn)彈出div,始終顯示在屏幕正中間的簡單實例
本篇文章主要是對jquery實現(xiàn)彈出div,始終顯示在屏幕正中間的簡單實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03jquery使用echarts實現(xiàn)有向圖可視化功能示例
這篇文章主要介紹了jquery使用echarts實現(xiàn)有向圖可視化功能,結(jié)合完整實例形式分析了jquery的echarts.js插件實現(xiàn)有向圖可視化相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2019-11-11servlet+jquery實現(xiàn)文件上傳進度條示例代碼
現(xiàn)在文件的上傳,特別是大文件上傳,都需要進度條。這篇文章主要介紹了servlet+jquery實現(xiàn)文件上傳進度條示例代碼,有興趣的可以了解一下。2017-01-01基于jquery trigger函數(shù)無法觸發(fā)a標(biāo)簽的兩種解決方法
下面小編就為大家分享一篇基于jquery trigger函數(shù)無法觸發(fā)a標(biāo)簽的兩種解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01jQuery實現(xiàn)最簡單的切換圖效果【可兼容IE6、火狐、谷歌、opera等】
這篇文章主要介紹了jQuery實現(xiàn)最簡單的切換圖效果,可兼容IE6、火狐、谷歌、opera等瀏覽器,涉及jQuery結(jié)合時間函數(shù)動態(tài)操作頁面元素的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2016-09-09jquery scroll()區(qū)分橫向縱向滾動條的方法
這篇文章主要介紹了使用jquery scroll()方法區(qū)分瀏覽器橫向和縱向滾動條的方法,需要的朋友可以參考下2014-04-04淺析jQuery移動開發(fā)中內(nèi)聯(lián)按鈕和分組按鈕的編寫
這篇文章主要介紹了jQuery移動開發(fā)中內(nèi)聯(lián)按鈕和分組按鈕的編寫方法,基于jQuery mobile這個jQuery針對移動開發(fā)版的庫,需要的朋友可以參考下2015-12-12