大檔案上傳外掛webupload外掛
ps 1、因為專案一個頁面有兩個上傳的地方所以會例項化webupload外掛兩次,為了避免重複講例項化webupload的名字進行了拼裝並用window[uploader]來接收
當有檔案新增進來時出發的方法(因為專案每個上傳只能上傳並存在一個檔案所以,再次上傳時對外掛佇列已有檔案根據檔案id進行移除操作)
當檔案上傳過程中觸發方法同時實現進度條
上傳成功傳送通知給伺服器,進行分塊檔案的合併
上傳出錯觸發
二、後臺程式碼 上傳儲存檔案方法(分塊也是這裡)
分塊合併和斷點續傳後臺方法(因為檔案合併比較耗時,所以用執行緒來執行的檔案合併操作)
ps:webupload的斷點續傳就是根據分塊來實現的 ,大概講下外掛實現斷點續傳的原理 1.頁面上外掛,再上傳檔案前對檔案進行md5計算
2.外掛將檔案分成若干塊,在進行檔案塊上傳前去後臺驗證此檔案的md5資料夾下是否有分塊內容 (後臺儲存的檔案分塊規則是,用檔案的MD5值建立一個資料夾,並在這個檔案下儲存檔案分塊,每個檔案分塊的名字是webupload外掛按照數字順序命名的,從0開始,webupload外掛保證了檔案分塊的規則和命名的相同)
3.在檔案分塊上傳完成後,傳送資訊給後臺通知進行檔案合併(因為有2出未見上傳公共呼叫的方法,所以沒有在這裡寫合併通知,而是在uploadSuccess這裡寫的合併通知)
至此斷點續傳原理實現完成,下面會把用到的js和後臺java類送上 http://download.csdn.net/download/q11825950/10154145
webupload還有些其他方法就需要自己探索了,以上內容基本實現了分塊上傳,斷點續傳,進度條,合併分塊等功能