2011-03-01 121 views
0

可能重複:
send request using json in android機器人發送請求

嗨,

我是新手Android開發,我使用JSON發送和從服務器檢索數據。但我曾經使用Android和服務器之間的文本。現在我想從Android發送圖像數據到服務器,反之亦然,從服務器數據庫檢索圖像數據到Android。任何人都可以告訴我我該怎麼做到這一點?

感謝

回答

0

我假設你已經實施了JSON調用通過HTTP。

在發送到服務器時,您需要將圖像轉換爲Base64編碼的字符串。 Base64函數是Android 2.2的android util庫的一部分。如果您打算支持早期版本,則可以從Android源代碼樹中獲取源代碼。這裏是location。這是一個獨立的文件,不涉及任何依賴關係。

嘗試使用圖像文件的編碼/解碼,如果可能,而不是位圖,因爲這有助於在大的圖片的時候避免內存不足錯誤。 這裏是編碼功能的代碼。

private String getBase64String(String sFileName){ 


    File imagefile = new File(sFileName); 
    byte[] data = new byte[(int) imagefile.length()]; 

    FileInputStream fis; 
    try { 
     fis = new FileInputStream(imagefile); 

     fis.read(data); 
     fis.close(); 
     return Base64.encodeToString(data,0); 
    } catch (Exception e) { 

     return ""; 
    } 
}