您好,
我是新手Android开发人员,我使用JSON从服务器发送和检索数据。但我曾经在Android和服务器之间使用文本。现在我想将图像数据从Android发送到服务器,反之亦然,从服务器数据库检索图像数据到Android。任何人都可以告诉我如何实现这一目标吗?
由于
答案 0 :(得分:-1)
我假设您已经通过HTTP实现了JSON调用。
您需要在发送到服务器时将Image转换为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 "";
}
}