0
嗨,
我是新手Android開發,我使用JSON發送和從服務器檢索數據。但我曾經使用Android和服務器之間的文本。現在我想從Android發送圖像數據到服務器,反之亦然,從服務器數據庫檢索圖像數據到Android。任何人都可以告訴我我該怎麼做到這一點?
感謝
嗨,
我是新手Android開發,我使用JSON發送和從服務器檢索數據。但我曾經使用Android和服務器之間的文本。現在我想從Android發送圖像數據到服務器,反之亦然,從服務器數據庫檢索圖像數據到Android。任何人都可以告訴我我該怎麼做到這一點?
感謝
我假設你已經實施了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 "";
}
}