我写了一个应用程序来从互联网上下载照片,部分代码如下:
try {
Log.d("LoadImageFromURL.url", url);
url=url.replace(" ", "+");
Log.d("LoadImageFromURL.url", url);
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setUseCaches(true);
String contentType = connection.getHeaderField("Content-Type");
boolean isImage = contentType.startsWith("image/");
Log.d("Image size", Long.toString(connection.getContentLength()));
Log.d("LoadImageFromURL", "getHeaderField Complete");
if(isImage){
use httpGet to download the photo....
}
现在,我面临两个问题:
1)如果URL中有空格(即http://www.abc.com/123 45.jpg),代码会将空格替换为“+”(即http://www.abc.com/ 123+45.jpg)。但结果是返回null。
2)获取HeaderField需要20秒,太慢了。我尝试跳过此过程,下载照片将在几秒钟内完成。
注意照片的大小仅为 1005511 字节。有任何想法吗?