1

インターネットから写真をダウンロードするアプリを作成しました。コードの一部は次のとおりです。

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.... 

}

今、私は2つの問題に直面しています:

1) URL にスペースがある場合 (つまり、 http: //www.abc.com/123 45.jpg)、コードはスペースを「+」に置き換えます (つまり、 http ://www.abc.com/ 123+45.jpg )。しかし、結果は null を返します。

2) HeaderField を取得するのに 20 秒かかります。遅すぎます。このプロセスをスキップしようとすると、写真のダウンロードは数秒で完了します。

写真のサイズは 1005511 バイトのみです。何か案は?

4

0 に答える 0