如何在Android中从剩余百分比(第一次下载时下载停止)下载文件



我遇到使用 Url 连接从服务器下载 zip 文件的问题,我可以下载文件,但我的要求是每当我下载时,互联网连接可能会丢失或应用程序可能会因其他原因关闭。 那一次我需要再次下载该文件,但不是从开始, 意味着如果开始下载和 40% 下载然后连接,那么我需要再次从 40% 下载它。 怎么办呢?我浏览了,但没有找到我的要求?请问E上有什么可以帮忙的吗?

if(new File(filePath).exists()){
//ucon.disconnect();
//   ucon.setAllowUserInteraction(true);
ucon.setRequestMethod("GET");
ucon.setRequestProperty("Range", "bytes=" + new File(filePath).length() + "-");
inStream.skip(new File(filePath).length());
ucon.connect();
}

您应该使用 HTTP 协议Range请求来请求文件的一部分。 首先,您必须发送HEAD,以查看您正在与之通信的服务器是否支持范围请求,方法是发送带有Accept-Ranges: bytes标头的HEAD。 如果服务器支持它,它将返回200 OK响应,然后您可以在标头中安全地发送带有字节偏移量GET请求Range: 10-100

上面的 GET 请求将查询服务器从第 10 个字节到第 100 个字节的数据,如果请求成功,它将返回 206 部分文档响应

最新更新