我正在尝试将图像从wcf ksoap2发送到android。 在wcf方面,我已将所有图像转换为字节数组并将它们存储在ArrayList中。 在android端我从wcf响应填充ArrayList。 现在问题是字节数组没有正确接收,字节数组没有转换成Image / BufferedImage。
这是我的代码
byt = new byte[4096];
byt = (byte[]) al.get(5);
//Image im;
BufferedImage bImageFromConvert = null;
InputStream in = new ByteArrayInputStream(byt);
try {
bImageFromConvert = ImageIO.read(in);
//ImageIO.write(bImageFromConvert, "jpg", new File(
// "c:/new-darksouls.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
al是我的ArrayList。
答案 0 :(得分:0)
private String prepareImage() {
if (tempPath == null ) {
return "";
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(tempPath, options);
bitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//bitmap.compress(Bitmap.CompressFormat.PNG, 50, baos);
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos);
byte[] byteArray = baos.toByteArray();
String imageString = com.size4u.utils.Base64
.encodeBytes(byteArray);
bitmap = null;
System.gc();
Runtime.getRuntime().gc();
return imageString;
}