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()处的空值发生了什么情况?