天天看點

webuploader多圖檔上傳php,PHP 多圖上傳,圖檔批量上傳插件,webuploader.js,百度檔案上傳插件...

PHP  多圖上傳,圖檔批量上傳插件,webuploader.js,百度檔案上傳插件(案例教程)

使用WebUploader還可以批量上傳檔案、支援縮略圖等等衆多參數選項可設定,以及多個事件方法可調用,你可以随心所欲的定制你要的上傳元件。

使用:

1、導入Css樣式檔案:

2、定義html:

多圖上傳

0%

選擇圖檔 開始上傳

1、準備一個按鈕#filePicker

2、準備一個用來存放添加的檔案資訊清單的容器.queueList

3、準備一個上傳按鈕.uploadBtn

2、javascript部分:

首先建立Web Uploader執行個體:

//執行個體化

uploader =WebUploader.create({

//是否自動上傳(true是,false否)

auto: false,//flash檔案位址

swf: './Uploader.swf',//上傳通路的位址

server: './upload.php',//每次請求附帶的參數

formData: {act: 'ad_image'},//定義選擇檔案的按鈕

pick: {id:'#filePick', label:'添加圖檔'},

//指定托動區

dnd: '#dndArea',//禁掉全局的拖拽功能。這樣不會出現圖檔拖進頁面的時候,把圖檔打開。

disableGlobalDnd: false,//指定監聽paste事件的容器,如果不指定,不啟用此功能。此功能為通過粘貼來添加截屏的圖檔

paste: '#uploader',//指定可以上傳那些類型的圖檔

accept: {

title:'Images',

extensions:'jpg,jpeg,png',

mimeTypes:'image/jpg,image/jpeg,image/png'},

thumb:{

width:110,

height:110,//圖檔品質,隻有type為`image/jpeg`的時候才有效。

quality: 70,//是否允許放大,如果想要生成小圖的時候不失真,此選項應該設定為false.

allowMagnify: false,//是否允許裁剪。

crop: true,//為空的話則保留原有圖檔格式。

//否則強制轉換成指定的類型。

type: 'image/jpeg'},

compress:{

width:1600,

height:1600,//圖檔品質,隻有type為`image/jpeg`的時候才有效。

quality: 90,//是否允許放大,如果想要生成小圖的時候不失真,此選項應該設定為false.

allowMagnify: false,//是否允許裁剪。

crop: false,//是否保留頭部meta資訊。

preserveHeaders: true,//如果發現壓縮後檔案大小比原來還大,則使用原來圖檔

//此屬性可能會影響圖檔自動糾正功能

noCompressIfLarger: false,//機關位元組,如果圖檔大小小于此值,不會采用壓縮。

compressSize: 0,//強制轉換成指定的類型。

type: 'image/jpeg'},//允許在檔案傳輸時提前把下一個檔案準備好 【預設值:false】

prepareNextFile:true,//是否要分片處理大檔案上傳【預設值:false】

//chunked: false,

//分多大一片【預設值:5242880】

//chunkSize: 512 * 1024,

//如果某個分片由于網絡問題出錯,允許自動重傳多少次!【預設值:2】

//chunkRetry:10,

//上傳并發數。允許同時最大上傳程序數【預設值:3】

//threads:3,

//檔案上傳方式,POST或者GET【預設值:'POST'】

//method:'POST',

//最大上傳數量,(驗證檔案總數量, 超出則不允許加入隊列)。

fileNumLimit: 20,//驗證檔案總大小是否超出限制, 超出則不允許加入隊列

fileSizeLimit: 200 * 1024 * 1024,//驗證單個檔案大小是否超出限制, 超出則不允許加入隊列

fileSingleSizeLimit: 50 * 1024 * 1024});

接着監聽fileQueued事件,即當有檔案添加進來的時候,通過uploader.makeThumb來建立圖檔預覽圖

至于事件中用到的方法就不寫出來的,需要研究的可以下載下傳源碼檢視學習!(uploader.makeThumb也是寫在方法裡面去了)

//當檔案被加入隊列以後觸發。

uploader.onFileQueued = function(file) {

fileCount++;

fileSize+=file.size;if (fileCount === 1) {

$placeHolder.addClass('element-invisible');

$statusBar.show();

}

addFile(file);

setState('ready');

updateTotalProgress();

};//上傳過程中....

uploader.onUploadProgress = function(file, percentage) {var $li = $('#' +file.id),

$percent= $li.find('.progress span');

$percent.css('width', percentage * 100 + '%');

percentages[ file.id ][1 ] =percentage;

updateTotalProgress();

};//當檔案被移除隊列後觸發。

uploader.onFileDequeued = function(file) {

fileCount--;

fileSize-=file.size;if (!fileCount) {

setState('pedding');

}

removeFile(file);

updateTotalProgress();

};

最後是上傳狀态提示了,

當檔案上傳過程中, 上傳成功,上傳失敗,上傳完成都分别對應

uploadProgress, uploadSuccess, uploadError, uploadComplete事件。

//檔案上傳成功

uploader.on( 'uploadSuccess', function( file,data ) {var $li = $('#' +file.id),

$percent= $li.find('.success');

$dsf= $('').appendTo($li),

setState('confirm');

});//檔案上傳過程中建立進度條實時顯示。

uploader.on( 'uploadProgress', function( file, percentage ) {

setState('uploading');

});//檔案上傳失敗,顯示上傳出錯

uploader.on( 'uploadError', function( file ) {

setState('finish');

});

uploader.on("uploadAccept", function( file, data){if ( data.success==true) {//通過return false來告訴元件,此檔案上傳有錯。

return true;

}else{return false;

}

});

至于事件中用到的方法就不寫出來的,需要研究的可以下載下傳源碼檢視學習!

2、PHP部分:

date_default_timezone_set("Asia/Shanghai");//1、圖檔檔案上傳處理 (上傳邏輯就自己寫了。)

//2、傳回值//假如這是上傳成功後得到的檔案名

$file = date("Ymd_").rand(1000,9999).'.jpg';

$res=array('success' => true,'file' =>$file

);

die(json_encode($res));?>

PHP  多圖上傳,圖檔批量上傳插件,webuploader.js,百度檔案上傳插件(案例教程)

WebUploader作用:

使用WebUploader還可以批量上傳檔案、支援縮略圖等等衆多參數選項可設定,以及多個事件方法可調用,你可以随心所欲的定制你要的上傳元件。

使用:

1、導入Css樣式檔案:

2、定義html:

1、準備一個按鈕#filePicker

2、準備一個用來存放添加的檔案資訊清單的容器.queueList

3、準備一個上傳按鈕.uploadBtn

2、javascript部分:

首先建立Web Uploader執行個體: