From 58afab572c189035717193934adf8378e14116e3 Mon Sep 17 00:00:00 2001 From: AriaLyy <511455842@qq.com> Date: Fri, 30 Dec 2016 19:23:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=AD=E7=82=B9=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/arialyy/aria/core/task/DownloadUtil.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Aria/src/main/java/com/arialyy/aria/core/task/DownloadUtil.java b/Aria/src/main/java/com/arialyy/aria/core/task/DownloadUtil.java index f1558cb3..987d2b1f 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/task/DownloadUtil.java +++ b/Aria/src/main/java/com/arialyy/aria/core/task/DownloadUtil.java @@ -14,7 +14,6 @@ * limitations under the License. */ - package com.arialyy.aria.core.task; import android.content.Context; @@ -30,7 +29,10 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; +import java.util.List; +import java.util.Map; import java.util.Properties; +import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -198,6 +200,7 @@ final class DownloadUtil implements IDownloadUtil { URL url = new URL(downloadUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); setConnectParam(conn); + conn.setRequestProperty("Range", "bytes=" + 0 + "-"); conn.setConnectTimeout(mConnectTimeOut * 4); conn.connect(); int len = conn.getContentLength(); @@ -206,7 +209,9 @@ final class DownloadUtil implements IDownloadUtil { return; } int code = conn.getResponseCode(); - if (code == 200) { + //https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81 + //206支持断点 + if (code == HttpURLConnection.HTTP_PARTIAL) { int fileLength = conn.getContentLength(); //必须建一个文件 CommonUtil.createFile(filePath); @@ -296,6 +301,9 @@ final class DownloadUtil implements IDownloadUtil { mFixedThreadPool.execute(task); } } + } else if (code == HttpURLConnection.HTTP_OK) { + //在conn.setRequestProperty("Range", "bytes=" + 0 + "-");下,200为不支持断点状态 + Log.w(TAG, "该下载链接不支持断点下载"); } else { failDownload("下载失败,返回码:" + code); }