上傳流程
上傳流程:
1.選擇所有需要上傳的文件,加入到上傳管理器中,全部文件為初始狀態(tài)等待中(初始請求狀態(tài)為快傳中)。
2.檢查網(wǎng)絡(luò)正常時(shí),開始上傳,將文件的狀態(tài)改變?yōu)榭靷髦?請求狀態(tài)為快傳中),進(jìn)行快傳驗(yàn)證,如果快傳過就為成功,未快傳過就進(jìn)行上傳數(shù)據(jù)流。
3.將文件的狀態(tài)改變?yōu)樯蟼髦?請求狀態(tài)為上傳中),進(jìn)行數(shù)據(jù)流傳輸,如果文件的大小小于一片,直接返回上傳結(jié)果,否則需要請求合并請求。
4.將文件的狀態(tài)改變?yōu)楹喜⒅?請求狀態(tài)為合并中),發(fā)送合并檢查請求,檢查文件在后臺(tái)是否合并成功,合并成功即為上傳成功,否則為上傳失敗。
操作場景:
1.暫停/繼續(xù),手動(dòng)點(diǎn)擊暫停一個(gè)(狀態(tài)為:等待中,傳輸中,失敗)任務(wù)其他狀態(tài)下不變,繼續(xù)一個(gè)(狀態(tài)為:暫停中)任務(wù),該任務(wù)繼續(xù)之前的上傳狀態(tài)進(jìn)行上傳流程。
2.全部暫停/全部開始,循環(huán)上傳列表進(jìn)行暫停/繼續(xù)操作,全部狀態(tài)修改完成后修改數(shù)據(jù)庫。
3.斷網(wǎng)/來網(wǎng),斷網(wǎng)時(shí)文件狀態(tài)將不改變,暫停狀態(tài)UI展示暫停,其他狀態(tài)UI均展示等待網(wǎng)絡(luò),恢復(fù)網(wǎng)絡(luò)將繼續(xù)斷網(wǎng)前的操作,斷網(wǎng)前的操作根據(jù)記錄的請求狀態(tài)處理。
5.任務(wù)成功/失敗,任務(wù)成功將任務(wù)移除上場列表,進(jìn)行下一個(gè)任務(wù);任務(wù)失敗,網(wǎng)絡(luò)失敗該任務(wù)狀態(tài)依然為上傳中重新走上傳流程,后臺(tái)返回失敗狀態(tài)為失敗,手動(dòng)點(diǎn)擊可以繼續(xù)上傳。
6.移除/添加,只需要加入一次上傳任務(wù),完成后移除,或者可以手動(dòng)移除。
7.kill APP,進(jìn)入APP,獲取數(shù)據(jù)庫文件信息,根據(jù)之前保存的請求類型狀態(tài),繼續(xù)該文件的上傳過程中某一操作。
