Webuploader.js是一款支持網(wǎng)絡(luò)上傳圖片的多文件上傳插件,兼容性良好,支持最新瀏覽器也能通過FLASH解決兼容問題,兼容IE6+,iOS6+,Android4+。Webuploader.js讓用戶網(wǎng)站擁有一個(gè)上傳圖片的功能,讓用戶網(wǎng)站的特性更加豐富。
使用方法
1、環(huán)境依賴git命令行工具
node & npm命令行工具
grunt (npm install grunt-cli -g)
2、編譯代碼
克隆 webuploader git倉(cāng)庫(kù),git clone https://github.com/fex-team/webuploader.git。
安裝node依賴,npm install。
執(zhí)行g(shù)runt dist,此動(dòng)作會(huì)在dist目錄下面創(chuàng)建合并版本的js, 包括通過uglify壓縮的min版本。
3、配置
打開webuploader倉(cāng)庫(kù)根目錄下面的Gruntfile.js文件, 代碼合并有buildtask來(lái)完成。找到build配置項(xiàng)。
Gruntfile.js已經(jīng)配置了一個(gè)自定義合并的demo. 打包只支持HTML5的版本。
Webuploader特色說明
1、純html+js的上傳工具。
2、調(diào)用Uploader.swf。
3、可以在電腦端運(yùn)行。
Webuploader功能
引入資源
使用Web Uploader文件上傳需要引入三種資源:JS, CSS, SWF。
HTML5 & FLASH
兼容主流瀏覽器,接口一致,實(shí)現(xiàn)了兩套運(yùn)行時(shí)支持,用戶無(wú)需關(guān)心內(nèi)部用了什么內(nèi)核。
MD5秒傳
當(dāng)文件容積大、量比較多時(shí),支持提交前做文件md5值認(rèn)證,一致則可立即繞過。
假如服務(wù)器端與前面統(tǒng)一改動(dòng)優(yōu)化算法,取段md5,可大大的提高認(rèn)證特性,用時(shí)在20ms上下。
瀏覽、壓縮
支持常見圖片文件格式j(luò)pg,jpeg,gif,bmp,png瀏覽與壓縮,節(jié)約互聯(lián)網(wǎng)傳輸數(shù)據(jù)。
分析jpeg中的meta信息,針對(duì)各種各樣orientation干了恰當(dāng)?shù)慕鉀Q,與此同時(shí)壓縮后提交保存圖片的全部初始meta數(shù)據(jù)信息。
多方式加上文件
支持文件多選,種類過慮,拖動(dòng)(文件&文件夾),圖片黏貼作用。
黏貼作用關(guān)鍵反映在當(dāng)有圖片數(shù)據(jù)信息在粘貼板里時(shí)(截屏工具如QQ(Ctrl+ALT+A),網(wǎng)頁(yè)頁(yè)面中右鍵圖片點(diǎn)擊復(fù)制),Ctrl+V便可加上此圖片文件。
易拓展、可分拆
選用可分拆體制,將每個(gè)作用單獨(dú)變成小組件,可隨意配搭。
選用AMD標(biāo)準(zhǔn)機(jī)構(gòu)代碼,清楚一目了然,便捷高級(jí)玩家拓展。
分塊、高并發(fā)
分塊與高并發(fā)融合,將一個(gè)大文件切分成幾塊,高并發(fā)提交,極大地提高大文件的上行速度。
當(dāng)網(wǎng)絡(luò)問題造成傳送不正確時(shí),只必須重傳來(lái)錯(cuò)分塊,而不是全部文件。此外分塊傳送可以更為即時(shí)的追蹤提交進(jìn)展。