我正在开发一个应用程序,例如适用于 Android 的 Internet 下载管理器。
我想知道如何像在 IDM 中那样在 Android 中下载文件的不同部分。
如何在下载前获取文件的元数据以及如何分批下载文件?
下载没有用户名密码或任何限制......只需通过网址简单下载。
我正在开发一个应用程序,例如适用于 Android 的 Internet 下载管理器。
我想知道如何像在 IDM 中那样在 Android 中下载文件的不同部分。
如何在下载前获取文件的元数据以及如何分批下载文件?
下载没有用户名密码或任何限制......只需通过网址简单下载。
假设您使用 HTTP 进行下载,您将需要使用HEAD
http 动词和RANGE
http 标头。
HEAD
会给你文件大小(如果有的话),然后RANGE
让你下载一个字节范围。
获得文件大小后,将其分成大小大致相等的块,并为每个块生成下载线程。全部完成后,以正确的顺序写入文件块。
编辑:
如果您不知道如何使用RANGE
标头,这是另一个 SO 答案,它解释了如何:https ://stackoverflow.com/a/6323043/1355166