java - 将多个图像写入 byteArrayOutputstream

标签 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 中显示。

最佳答案

你可以这样尝试:

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

关于java - 将多个图像写入 byteArrayOutputstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786740/

相关文章:

Java 服务器页面参数混淆

java - 从 java 代码创建 PDF 文件 [不使用 iText]

java - BufferedReader 中跳过和重置方法的一些实际用例是什么?

java - 如何修复我的 .text 字计数器中的 NullPointerException

java - Android 应用程序登录屏幕 - 错误变量和共享首选项比较

java - 通用列表中的唯一类

java - 区分集合中的文件和目录

windows - Windows下如何查找Tomcat安装盘符

java - 无法将 Spring 服务注入(inject) akka 服务

java - 如何使用 Java 中的正则表达式解析字符串的最后 6 位数字?