HTML5檔案上傳外掛 Huploadify V2.1釋出

呂大豹發表於2014-01-27

  月初發布了HUploadify2.0版本,增加了檔案的斷點續傳功能,得到了不少朋友的好評。本著按照Uploadify原樣複製的原則,本次在一些朋友的建議中採納了幾點,做了一次較小的改動,定為2.1版本。所做的改動包括:

1. 對外開放的方法增加settings。

  uploadify有settings方法可呼叫,作用是動態設定上傳外掛的配置引數,如下:

$('#file_upload').uploadify('settings','buttonText','BROWSE');

  當時覺得這個外掛很少會動態去設定配置引數,所以就沒實現這個介面,沒想到有朋友恰好需要,所以就加了。

  uploadify的這種呼叫方法的方式我很不喜歡,settings本身是個方法,卻要作為引數傳遞,而且還要再呼叫一次$選擇器,其實只要把初始化時返回的物件儲存下來即可。因此,我的Huploadify提供這樣的呼叫方式:

var up = $('#upload').Huploadify({});
up.settings('formData', {a : 1});

  這樣用起來會舒服很多。同時,為了保持與Uploadify的統一性,它那樣的呼叫方式也做了相容,同樣可以這樣呼叫:

up.Huploadify('settings','formData', {a:1,});

  不過再次呼叫$選擇器的方式我這裡沒有做相容,也不打算相容了,因為這樣反而會浪費效率。所以下面這樣的呼叫是不行的:

$('#upload').Huploadify('settings','formData', {a:1,});

2.  對外開放的方法增加destroy

  就是把上傳外掛給銷燬。至此,Uploadify所有對外提供的方法呼叫我這裡都實現了。

3. 允許上傳的檔案型別預設為*.*

  即預設允許上傳任何型別的檔案。

  只有以上幾點改動,歡迎大家下載使用,有任何bug歡迎留言。再說點題外話,本來在這個外掛上沒打算投入多少功夫的,沒想到還被其他朋友採用到專案中,因此我也會繼續維護它,打算年後釋出到github上,拉出去獻獻醜,也讓外掛的效能和架構再做一次提升~敬請期待!

  V2.1的原始碼包下載地址:http://files.cnblogs.com/lvdabao/Huploadify-V2.1.zip

-----------------------補充於2014.01.28-------------

  發現一個不完善的地方,上傳成功後的回撥函式中,需要依賴於後端的返回資料,若返回資料格式錯誤或未返回資料,會報錯誤。這樣外掛與後端產生了耦合,不恰當,在此做出修改,無論後臺是否返回資料,不影響回撥函式的執行。追加一個2.1.1版本:

  http://files.cnblogs.com/lvdabao/Huploadify-V2.1.1.zip

-----------------------補充於2014.02.24--------------

  感謝@ShowStyle提出的一個bug,在檔案完整上傳後,再次上傳相同檔案,不應再傳送請求。已做相應的修改,在此追加一個2.1.2版本:

  http://files.cnblogs.com/lvdabao/Huploadify-V2.1.2.zip

  另外我也感覺到了這樣管理版本的不便,已開始著手重構外掛(API不會變化),並開源在github上。目前1.0版本的已經完成,地址:https://github.com/Double-Lv/Huploadify。歡迎fork。具有斷點續傳功能的2.0版本也會在稍後開源上去。

相關文章