在网上找了很久,然后东拼西凑,挨个试了一遍,发现这个是有效的。。
mes[3] 是一个String 字符串,我这里是将图片转为字符串进行传输的
android 客户端的解码:
Bitmap bitmap = null;
byte[] bitmapArray = Base64.decode(mes[3], Base64.DEFAULT);
bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
java 服务器端的编码:
java 端的BASE64Encoder类引用时,需要进入项目设置,网上有教程,这里就不赘述了。
filePath 是文件在本地文件的路径及其文件名称,例:
C:\Users\Administrator\Desktop\campusordersystem\image\hongshaorou.png
/**
-
图片转字符串
*/
private String getImageBinary(String filePath) {
// TODO Auto-generated method stubInputStream in = null; byte[] data = null; try { in = new FileInputStream(new File(filePath)); data = new byte[in.available()]; in.read(data); in.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);
}