??? 英文原文鏈接:http://today.java.net/pub/a/today/2006/02/09/file-uploads-with-ajax-and-jsf.html
??? Translated by amplifier
??? 基于瀏覽器的文件上傳,特別是那些通過調用HTML標簽<input type="file">來實現的文件上傳,總是有很大的缺陷。大家都知道,上傳一個大于10MB的文件會導致非常糟糕的用戶體驗。當用戶提交表單上傳文件后,瀏覽器在把文件上傳到服務器的過程中就會表現得像失去響應一樣。當這個過程在后臺進行中的時候,很多不耐煩的用戶就會以為服務器掛掉了,于是就嘗試重新提交表單,這樣一來就更糟糕了。
??? 為了使文件上傳的用戶界面更友好,很多網站采用顯示不確定的進度動畫(例如一個翻轉的圖標)來提示用戶已提交文件。雖然這種技術會讓用戶覺得好受一點,但它只提供了極少與文件上傳狀態相關的信息。另外一種嘗試是通過實現一個applet來把文件上傳到FTP服務器上,這種方法的缺點是它只對有java的瀏覽器可用。
?? 在本文,我們將會使用一種新的方法,通過實現一個使用AJAX技術的組件來達到目的,該組件不僅僅把文件上傳到服務器,還“實時”監控文件上傳的實際進度。該組件的四個狀態如圖1,2,3,4所示:
圖1. 階段1:選擇要上傳的文件
圖2.階段2:上傳中
圖3.階段3:上傳完畢
圖4.文件上傳概要
(未完待續)
?