2014-05-06 115 views
0

我還有一個小問題, 我有一個鏈接到我的圖片在標準格式但是我需要身份驗證令牌在結束訪問圖像,所以每當我用我的webbrowser正確的身份驗證令牌圖像是以自動方式下載的。 這裏是我的問題,我如何在Android下載這樣的圖像到位圖? 由於使用Android從url下載位圖

final URL bitmapUrl = new URL(imageUrl); 
bitmap = BitmapFactory.decodeStream(bitmapUrl.openConnection().getInputStream()); 

不工作...

回答

1
private Bitmap getBitmap(String url) 
    { 
     File f=fileCache.getFile(url); 

     //from SD cache 
     Bitmap b = decodeFile(f); 
     if(b!=null) 
      return b; 

     //from web 
     try { 
      Bitmap bitmap=null; 
      URL imageUrl = new URL(url); 

      HttpURLConnection conn = (HttpURLConnection)imageUrl.openConnection(); 
      conn.setConnectTimeout(70000); 
      conn.setReadTimeout(70000); 
      conn.setRequestProperty("Auth_keyName", "Value");// if authentication required 
      conn.setInstanceFollowRedirects(true); 
      InputStream is=conn.getInputStream(); 
      OutputStream os = new FileOutputStream(f); 
      Utils.CopyStream(is, os); 
      os.close(); 
      conn.disconnect(); 
      bitmap = decodeFile(f); 
      return bitmap; 
     } catch (Throwable ex){ 
      ex.printStackTrace(); 
      if(ex instanceof OutOfMemoryError) 
       memoryCache.clear(); 
      return null; 
     } 
    } 
+1

我使用此代碼。您可以使用此 – SuN

+1

謝謝它的工作:) – user3274539

0

試試這個方法下載位圖

public Bitmap downloadBitmap(String src) { 
    try { 
     java.net.URL url = new java.net.URL(src); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 
     Bitmap bmp= BitmapFactory.decodeStream(input); 
     return bmp; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
+0

它適用於正常的照片,但我的情況:( – user3274539

+0

不起作用什麼錯誤您getting.post日誌貓 –