上传流程
上传流程:
1.选择所有需要上传的文件,加入到上传管理器中,全部文件为初始状态等待中(初始请求状态为快传中)。
2.检查网络正常时,开始上传,将文件的状态改变为快传中(请求状态为快传中),进行快传验证,如果快传过就为成功,未快传过就进行上传数据流。
3.将文件的状态改变为上传中(请求状态为上传中),进行数据流传输,如果文件的大小小于一片,直接返回上传结果,否则需要请求合并请求。
4.将文件的状态改变为合并中(请求状态为合并中),发送合并检查请求,检查文件在后台是否合并成功,合并成功即为上传成功,否则为上传失败。
操作场景:
1.暂停/继续,手动点击暂停一个(状态为:等待中,传输中,失败)任务其他状态下不变,继续一个(状态为:暂停中)任务,该任务继续之前的上传状态进行上传流程。
2.全部暂停/全部开始,循环上传列表进行暂停/继续操作,全部状态修改完成后修改数据库。
3.断网/来网,断网时文件状态将不改变,暂停状态UI展示暂停,其他状态UI均展示等待网络,恢复网络将继续断网前的操作,断网前的操作根据记录的请求状态处理。
5.任务成功/失败,任务成功将任务移除上场列表,进行下一个任务;任务失败,网络失败该任务状态依然为上传中重新走上传流程,后台返回失败状态为失败,手动点击可以继续上传。
6.移除/添加,只需要加入一次上传任务,完成后移除,或者可以手动移除。
7.kill APP,进入APP,获取数据库文件信息,根据之前保存的请求类型状态,继续该文件的上传过程中某一操作。