Java 将多个图像转换为字节数组
我试图将响应作为多个图像字节数组发送给另一个应用程序 我从数据库中获取车辆图像列表,并将其转换为字节数组Java 将多个图像转换为字节数组,java,servlets,apache-torque,Java,Servlets,Apache Torque,我试图将响应作为多个图像字节数组发送给另一个应用程序 我从数据库中获取车辆图像列表,并将其转换为字节数组 ByteArrayInputStream instream = null; ServletOutputStream out = null ; for(Vehicle vehicle : vehicleList) { byte[] imageInByte = null; VehicleImage vehicleImage=VehicleImagePeer.doSelectFirs
ByteArrayInputStream instream = null;
ServletOutputStream out = null ;
for(Vehicle vehicle : vehicleList)
{
byte[] imageInByte = null;
VehicleImage vehicleImage=VehicleImagePeer.doSelectFirst(c.add(VehicleImagePeer.VEHICLE_ID, getId()));
c.clear();
String path = TaxiApp.getConfigValue("IMAGE.PATH")+vehicleImage.getPath();
System.out.print(path);
BufferedImage originalImage = ImageIO.read(new File(path));
ImageIO.write(originalImage, "png", baos);
imageInByte = baos.toByteArray();
baos.close();
out = response.getOutputStream();
response.setContentLength(imageInByte.length);
response.setCharacterEncoding(Charset.forName("UTF-8").name());
int bufferSize = response.getBufferSize();
byte[] buffer = new byte[bufferSize];
instream = new ByteArrayInputStream(imageInByte);
TaxiApp.logprintf("Total page size in bytes: %s and default response bufferSize in bytes: %s%n", new Object[]
{
Integer.valueOf(imageInByte.length), Integer.valueOf(bufferSize)
});
int length = 0;
while ((length = instream.read(buffer, 0, bufferSize)) != -1)
{
out.write(buffer, 0, length);
out.flush();
}
使用此代码,我将所有图像转换为字节数组
现在我需要作出回应。
我使用此代码来响应
ByteArrayInputStream instream = null;
ServletOutputStream out = null ;
for(Vehicle vehicle : vehicleList)
{
byte[] imageInByte = null;
VehicleImage vehicleImage=VehicleImagePeer.doSelectFirst(c.add(VehicleImagePeer.VEHICLE_ID, getId()));
c.clear();
String path = TaxiApp.getConfigValue("IMAGE.PATH")+vehicleImage.getPath();
System.out.print(path);
BufferedImage originalImage = ImageIO.read(new File(path));
ImageIO.write(originalImage, "png", baos);
imageInByte = baos.toByteArray();
baos.close();
out = response.getOutputStream();
response.setContentLength(imageInByte.length);
response.setCharacterEncoding(Charset.forName("UTF-8").name());
int bufferSize = response.getBufferSize();
byte[] buffer = new byte[bufferSize];
instream = new ByteArrayInputStream(imageInByte);
TaxiApp.logprintf("Total page size in bytes: %s and default response bufferSize in bytes: %s%n", new Object[]
{
Integer.valueOf(imageInByte.length), Integer.valueOf(bufferSize)
});
int length = 0;
while ((length = instream.read(buffer, 0, bufferSize)) != -1)
{
out.write(buffer, 0, length);
out.flush();
}
我有个问题。
响应只能发送第一个图像字节数组。但我需要发送所有图像字节数组…请解决此问题