Преобразование нескольких изображений в байтовый массив
Я пытаюсь дать ответ как несколько байтов изображения массива в другое приложение.
Я получаю список изображений автомобилей из базы данных и преобразую их в байтовый массив.
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(); }
Вот проблема для меня. Ответ может отправлять только первый байтовый массив изображений. но мне нужно отправить все изображения байтового массива... пожалуйста, решите эту проблему.