Android部分下载http

时间:2016-09-26 11:06:03

标签: android https download partial

在我的应用程序中,我通过HTTP连接从服务器下载媒体。无论如何下载连接是否中断(例如,没有n / w,许可撤销),文件部分下载。

之前我们正在删除该文件并从头开始下载。

现在,要求已经改变。我必须从我离开的地方继续(比如在WhatsApp中)。

所以我正在做的是检查文件是否存在以及文件是否存在跳过流。请找到以下代码片段。

InputStream is = con.getInputStream();

File file = new File(targetPath);
boolean fileExist = file.exists();
if (fileExist) {
    long skippedBytes = is.skip(file.length()); 
}

// opens an output stream to save into file
OutputStream os = new FileOutputStream(targetPath, fileExist);

它的工作仅仅是为了跳过但实际上不起作用。

说,文件(视频)长度是20秒,在第一次尝试中我下载最多6秒并随后休息。但是当我播放它时只播放到6秒然后抛出通常的视频播放错误。

1 个答案:

答案 0 :(得分:0)

File file = new File(targetPath);

if (file.exists()) {
    con.setRequestProperty("Range", "bytes=" + (file.length()) + "-");
} else {
    con.setRequestProperty("Range", "bytes=" + 0 + "-");
}