从android中的URL加载图像时出现问题

时间:2011-07-22 06:42:15

标签: android download bitmap

我在android中创建一个应用程序,从URL

加载图标大小的图像

我尝试使用以下代码下载图像。

从给定的网址下载了一个标有default.png的图片,但是没有下载标记为v_1234.jpg的另一张图片。我不知道这个问题是什么。它只是为jpg图像返回null。

我不确定.jpg格式的问题是我的代码没有下载jpg格式图像,或者由于标签中的Underscore(_)引起的标签名称问题导致它无法下载..

请帮助您在该领域的专业人士。

CODE:

URL url = new URL(detail.voucher_image.toString());
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.getImageBitmap(bmp);

非常感谢。

2 个答案:

答案 0 :(得分:0)

试试这段代码

URLConnection conn = url.openConnection();
conn.setDoOutput(true);
InputStream reader;
reader=conn.getInputStream();
System.out.println("Compressed2!!!"+conn.getContentLength());
                int available = reader.available();

                int i=0;
                int count=0;
                int cc=0;

                while(reader.read()!=-1){
                    cc++;
                }
                System.out.println("available"+cc);
                data2 = new byte[cc];
                while ((i = reader.read(data2, count, data2.length-count)) != -1) {
                    count +=i;
                   cc++;
                }


                System.out.println("Compressed3!!!");
               // reader.read(data2,0,cc);
                System.out.println("Compressed!!!");
               // printBytes(data1,data2,"after");

                System.out.println("length b4!!!"+data2);


                System.out.println("data::"+new String(data2));
                System.out.println("The length is "+data2.length);
                bmp2=BitmapFactory.decodeByteArray(data2, 0, data2.length);
                if(bmp2==null)
                    System.out.println("The bitmap value is null");
                iv.setImageBitmap(bmp2);undefined

答案 1 :(得分:0)

使用以下代码从url

获取位图
public Bitmap imageConvert(String url){
URL aURL = null;
Bitmap bm = null;
try {
final String imageUrl =imgstr.replaceAll(" ","%20");
Log.e("Image Url",imageUrl);
aURL = new URL(imageUrl);
URLConnection conn = aURL.openConnection();
InputStream is = conn.getInputStream(); 
BufferedInputStream bis = new BufferedInputStream(is); 
bm = BitmapFactory.decodeStream(new PatchInputStream(is)); 
is.close(); 
} 
catch (Exception e) {
Log.e("ProPic Exception",e.getMessage());
}
return bm;
}