将多个图像写入byteArrayOutputstream

时间:2015-04-22 02:36:55

标签: java java-io

我需要将多个图像添加到输出流并在JSF中显示这些图像。

Ex代码:

List<inputStream> images = list of inputstream - each image is one input stream

ByteArrayOutputStream stream = new ByteArrayOutputStream()
for(inputStream iStream: images){
    stream.write(IOUtils.toByteArray(iStream);
}
return stream.toByteArray();

现在它只显示第一张图片但不显示剩余的图像。

请在这里帮助我传递多个图像并在jsp中显示。

1 个答案:

答案 0 :(得分:3)

您可以尝试这样:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
List<byte[]> imagesByteList = new List<byte[]>;
for(inputStream iStream: images){
    stream.write(IOUtils.toByteArray(iStream);     
    imagesByteList.add(stream.toByteArray());
    stream.reset();
}
return imagesByteList; // here you get all your image in bytes array form