如何在android中从剩余百分比(第一次下载时停止)下载文件
我面临着从服务器下载zip文件的问题,通过使用Url连接,我可以下载一个文件,但我的要求是,每当我下载时,互联网连接可能会丢失,或者应用程序可能会因其他原因关闭。这一次我需要再次下载该文件,但不是从开始下载,这意味着如果开始下载,40%下载,然后连接,那么我需要再次从40%下载。 怎么做?我浏览了一下,但没有找到我的要求?请问e上有什么可以帮忙的吗如何在android中从剩余百分比(第一次下载时停止)下载文件,android,url,download,Android,Url,Download,我面临着从服务器下载zip文件的问题,通过使用Url连接,我可以下载一个文件,但我的要求是,每当我下载时,互联网连接可能会丢失,或者应用程序可能会因其他原因关闭。这一次我需要再次下载该文件,但不是从开始下载,这意味着如果开始下载,40%下载,然后连接,那么我需要再次从40%下载。 怎么做?我浏览了一下,但没有找到我的要求?请问e上有什么可以帮忙的吗 if(new File(filePath).exists()){ //ucon.disconnect();
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
request来请求部分文件。
首先,您必须发送HEAD
以查看与您交谈的服务器是否支持范围请求,方法是使用Accept Ranges:bytes
header发送HEAD
。
如果服务器支持它,它将返回200 OK
响应,然后您可以安全地发送GET
请求,其字节偏移量在范围:10-100
头中
上述GET请求将向服务器查询从第10个字节到第100个字节的数据,如果请求成功,它将返回206个部分文档响应i was set ucon.setRequestProperty(“Range”,“bytes=”+new File(filePath).length()+“-”;inStream.skip(新文件(filePath.length());它的投掷错误和我需要的出发点