android httpURLConnection-getHeaderField
我已经编写了一个从互联网下载照片的应用程序,部分代码如下:android httpURLConnection-getHeaderField,android,httpurlconnection,Android,Httpurlconnection,我已经编写了一个从互联网下载照片的应用程序,部分代码如下: try { Log.d("LoadImageFromURL.url", url); url=url.replace(" ", "+"); Log.d("LoadImageFromURL.url", url); HttpURLConnection connection = (HttpURLConnection) new URL(url).openCo
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中有空格(即45.jpg),代码将把空格替换为“+”(即)。但是结果是returnnull
2) 只有20秒的时间才能到达海德菲尔德,速度太慢了。我尝试跳过这个过程,下载的照片将在几秒钟内完成
注意:照片的大小仅为1005511字节。有什么想法吗?在问题一中,结果返回null表示下载照片的大小为null……为什么使用
url=url.replace(“,”+”)
而不是url=url.replace(“,“%20”)代码>?非常感谢!问题1已修复…….getHeaderFields()处的空值发生了什么情况?