Привет, я кодирую сервлет для загрузки изображения как inputstream
под объектом со статическим входным потоком.
После загрузки изображений я использую какой-то метод для изменения размера изображения и возврата измененного изображения клиенту.
Мой код работает впервые, и после этого входная строка закрывается (я не знаю точно, что это значит, и не могу прочитать из нее.
Я использовал несколькометоды, но все еще с той же проблемой
Как решить эту проблему?
public String getImageArtRes() throws IOException {
ImageInputStream origimg =
ImageIO.createImageInputStream(this.get_Image());
BufferedImage img = ImageIO.read(origimg);
img.flush();
BufferedImage resized = resize(img, 80, 120);
String b64 = null;
resized.flush();
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(resized, this.getImgType().replace("image/", ""), os);
os.flush();
byte[] imageInByteArray = os.toByteArray();
b64 = javax.xml.bind.DatatypeConverter.printBase64Binary(imageInByteArray);
os.close();
return b64;
}
Я получаю изображение с этим кодом:
private static List<ArticleIMG> getImages(HttpServletRequest request) throws IOException, ServletException {
Collection<Part> parts = request.getParts();
InputStream img = null;
...
for (Part part : parts) {
...
img=part.getInputStream();
imgTemp.setImage(img);
getImagesArt().add(imgTemp);
...
Моя версия Java - 1.8