在現代網站設計中,特別是相簿、網盤和SNS網站中,我們常常見到檔案上傳功能,相信在我們的專案中也會經常遇到類似的任務。這裡收集一些很有用的檔案上傳元件,這些元件都是很成熟的,而且是免費供你使用的。

當然,如果你見到了某些比較好的,而我們這裡沒有列出的上傳元件,歡迎通過評論與前端觀察的其他讀者共享。

1. SWFUpload

SWFUpload是一個客戶端檔案上傳工具,最初由Vinterwebb.se開發,它通過整合Flash與JavaScript技術為WEB開發者提供了一個具有豐富功能繼而超越傳統<input type=”file” />標籤的檔案上傳模式。

SWFUpload的主要優點:

  1. 可以同時上傳多個檔案;
  2. 類似AJAX的無重新整理上傳;
  3. 可以顯示上傳進度;
  4. 良好的瀏覽器相容性;
  5. 相容其他JavaScript庫 (例如:jQuery, Prototype等);
  6. 支援Flash 8和Flash 9;

2. YUI上傳元件

YUI Uploader 提供超越基本的基於瀏覽器的方法的檔案上傳功能。值得一提的是,YUI Uploader 允許通過一個單獨的“開啟檔案”對話方塊進行多檔案選擇,通過檔案擴充套件過濾器來減少使用者的操作,跟蹤檔案上傳進度,可以比較快速的上傳檔案。

YUI是一個非常成熟的前端框架,其穩定的效能和漂亮的介面及使用者體驗設計,使得現在很多大型網站都是用YUI框架,包括Google和阿里巴巴等網站。

3. jQuery.MultiFile

多檔案上傳外掛 (jQuery.MultiFile) 是一個出色的jQuery外掛,可以用於讓使用者很容易的選擇多個檔案快速方便的上傳,同時也提供一些基本的驗證功能來幫助開發人員識別簡單的錯誤,而不用提交表單。

4. FancyUpload

FancyUpload 是一個file-input替代方案,通過一個多檔案選擇選單和帶動態進度條的佇列化上傳,它很容易設定,無需配置伺服器端,可以完全通過CSS和XHTML控制其樣式,並使用Mootools,可以在所有的現代瀏覽器中使用。

這個方案也使用了一個與SWPUpload類似的Flash上傳方法。

5. Steve Sanderson的jQuery Ajax 上傳元件

Steve Sanderson 釋出這款簡單而又用的jQuery 外掛來實現Ajax檔案上傳功能。在上傳的時候,它可以顯示一個很棒的進度條。改元件的介面很容易根據你的愛好來定製。

6. Mega Upload 進度條

Mega Upload 是一款網站檔案上傳進度指示器,可用於PHP、perl和JSP。起初這個專案只是為了解決PHP檔案上傳所缺少的進度跟蹤,進而發展到支援Perl和JSP。

7. Free ASP Upload

Free ASP Upload 是一款免費指令碼,它可以讓你在你的網站上很容易的建立表單。你將可以很容易的使用它,這個元件並不需要一個ASP.NET伺服器。

8. ColdFusion 檔案上傳元件

Coldfusion檔案上傳元件 是一個非常簡單而又用的上傳檔案指令碼。它基於Coldfusion。

9. 多檔案上傳

MooMultiple FU 是另外一款基於MooTools的多檔案上傳工具,很容易實現並重用。

後記:其實應該還有很多非常好的檔案上傳實現方案,但是對於前端技術來說,上面列出的這些方案應該是目前最流行的。神飛發現,目前使用SWFUpload的最多,因為它使用非常靈活,你可以完全定製其介面,但是本文的英文原文並沒有包括SWFUpload,神飛將其加入並放在第一條的位置。其次YUI和基於jQuery的元件使用的也是非常多的。