添加断点判断
This commit is contained in:
@ -14,7 +14,6 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package com.arialyy.aria.core.task;
|
package com.arialyy.aria.core.task;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -30,7 +29,10 @@ import java.net.HttpURLConnection;
|
|||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.ProtocolException;
|
import java.net.ProtocolException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
@ -198,6 +200,7 @@ final class DownloadUtil implements IDownloadUtil {
|
|||||||
URL url = new URL(downloadUrl);
|
URL url = new URL(downloadUrl);
|
||||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||||
setConnectParam(conn);
|
setConnectParam(conn);
|
||||||
|
conn.setRequestProperty("Range", "bytes=" + 0 + "-");
|
||||||
conn.setConnectTimeout(mConnectTimeOut * 4);
|
conn.setConnectTimeout(mConnectTimeOut * 4);
|
||||||
conn.connect();
|
conn.connect();
|
||||||
int len = conn.getContentLength();
|
int len = conn.getContentLength();
|
||||||
@ -206,7 +209,9 @@ final class DownloadUtil implements IDownloadUtil {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int code = conn.getResponseCode();
|
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();
|
int fileLength = conn.getContentLength();
|
||||||
//必须建一个文件
|
//必须建一个文件
|
||||||
CommonUtil.createFile(filePath);
|
CommonUtil.createFile(filePath);
|
||||||
@ -296,6 +301,9 @@ final class DownloadUtil implements IDownloadUtil {
|
|||||||
mFixedThreadPool.execute(task);
|
mFixedThreadPool.execute(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (code == HttpURLConnection.HTTP_OK) {
|
||||||
|
//在conn.setRequestProperty("Range", "bytes=" + 0 + "-");下,200为不支持断点状态
|
||||||
|
Log.w(TAG, "该下载链接不支持断点下载");
|
||||||
} else {
|
} else {
|
||||||
failDownload("下载失败,返回码:" + code);
|
failDownload("下载失败,返回码:" + code);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user