2013-01-16 21 views
0

我知道導入圖片到BMP是:的android InputStream的圖像

String t1="http://www.xxx.xxx/xx/xx.jpg"; 
URL TKs = new URL(t1); 
InputStream Is= TKs.openStream();  
Bitmap Bp = BitmapFactory.decodeStream(Is); 
Is.close(); 

我也知道,將圖片轉換爲可存儲在SQL的格式:

is = resources.openRawResource(R.drawable.xxx); 
byte[] image2 = new byte[is.available()]; 
is.read(image2); 
is.close(); 

我使用這兩種方法應該能達到我的目標:

String t1="http://www.xxx.xxx/xx/xx.jpg"; 
URL TKs = new URL(t1); 
InputStream Is= TKs.openStream();  
byte[] image2 = new byte[Is.available()]; 
//////////////////the image2 is NULL 
Is.read(image2); 
Is.close(); 

很顯然,我沒 我想李可以問我最後怎麼做?

回答

0
public byte[] getImage(String t1) throws Exception{ 
     URL url = new URL(t1); 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     conn.setConnectTimeout(5 * 1000); 
     conn.setRequestMethod("GET"); 
     InputStream inStream = conn.getInputStream(); 
     if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){ 
      return readStream(inStream); 
     } 
     return null; 
    } 

    public static byte[] readStream(InputStream inStream) throws Exception{ 
     ByteArrayOutputStream outStream = new ByteArrayOutputStream(); 
     byte[] buffer = new byte[1024]; 
     int len = 0; 
     while((len=inStream.read(buffer)) != -1){ 
      outStream.write(buffer, 0, len); 
     } 
     outStream.close(); 
     inStream.close(); 
     return outStream.toByteArray(); 
    } 

byte[] data = getImage(t1); 
相關問題