我想用我的网络服务发送byte[]
图片。在发送请求时,我收到错误java.io.BufferedInputStream.streamClosed(BufferedInputStream.java:125)
,但图片已成功上传,这是我将InputStream
转换为byte[]
的功能,
public static byte[] streamToBytes(InputStream is) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len=0;
try {
while ((len = is.read(buffer)) >= 0) {
os.write(buffer, 0, len);
}
os.flush();
os.close();
is.close();
} catch (java.io.IOException e) {
}
return os.toByteArray();
}
答案 0 :(得分:0)
你可以使用它 -
ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
BufferedImage img=ImageIO.read(file);
ImageIO.write(img, "jpg", baos);
baos.flush();
byte[] byteArray = baos.toByteArray();