Android中的文件上传暂停和恢复

Android中的文件上传暂停和恢复,android,file-upload,android-asynctask,Android,File Upload,Android Asynctask,我有一个android应用程序。我想实现通过线程或异步任务将图像/视频上传到服务器的功能。对于上传图像/视频,我想实现暂停和恢复功能。这意味着在上传到服务器时必须维护暂停和恢复功能。现在我有疑问,是否可以实现此功能(暂停和恢复)?如果对此有任何想法,请帮助我,我将如何维护这一点。谢谢大家。我相信您已经完成了服务器的正常上传。要实现可恢复的上载,您必须将文件分割为块,并指定要发送到服务器的文件的字节范围。我可以给你一个大概的想法 假设你有一个5MB(百万字节)的文件。您必须按如下方式发送文件 第1

我有一个android应用程序。我想实现通过线程或异步任务将图像/视频上传到服务器的功能。对于上传图像/视频,我想实现暂停和恢复功能。这意味着在上传到服务器时必须维护暂停和恢复功能。现在我有疑问,是否可以实现此功能(暂停和恢复)?如果对此有任何想法,请帮助我,我将如何维护这一点。谢谢大家。

我相信您已经完成了服务器的正常上传。要实现可恢复的上载,您必须将文件分割为块,并指定要发送到服务器的文件的字节范围。我可以给你一个大概的想法

假设你有一个5MB(百万字节)的文件。您必须按如下方式发送文件

第1部分:0000000-999999字节-HTTP 204

第2部分:1000000-1999999字节-HTTP 204

第3部分:2000000-299999字节-HTTP 204

第4部分:3000000-3999999字节-HTTP 204

第5部分:4000000-4999999字节-HTTP 200

设置以下标题

内容长度:1000000

内容范围:字节1000000/5000000

您必须指定内容范围并发送相应的字节流数组。除非文件完成,否则所有成功的区块上传都将返回一个204。如果您在任何时候上传中断,您可以轮询服务器并获取上传状态。可以从文件的该点开始恢复,以完成断块。我们正在将文件分割成块,因为我们无法将整个内容保存在内存中。可以将整个文件作为单个部分发送,对于较小的文件,可以在精确的字节点恢复

另一种选择是在本地管理索引。完成每个块后,将索引变量的状态更新到文件中。如果要恢复上载,可以从头开始恢复整个区块。您不必轮询服务器来获取状态

成功完成上传后,服务器将返回200状态(即使您在设置了标题的单个块中上传整个文件)。有关更多详细信息,请参阅Youtube文档或Pandastream


不是答案,只是一些粗略的想法。1) 为了暂停/恢复文件上载,您必须拆分文件以上载一些小片段。因此,您可以检查上传一个文件后是否暂停上传2)您的服务器应支持暂停/恢复,也就是说,如果出现TimeOutException,您应该能够恢复上传操作(通过告诉您的服务器:文件名、要上传的文件、剩余的文件数等)。Hello@Richard LIANG,多亏了你的主意。你的主意太棒了。如果我这样做的话,希望我会成功。现在你能告诉我怎么做avideo of pieces吗?