Я пытаюсь преобразовать мой BufferedImage к InputStream, используя следующие:BufferedImage в InputStream - формат отличается
BufferedImage bi = ImageIO.read(file.getInputStream());
bi = Scalr.resize(bi, 300);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bi, file.getContentType(), os); //the content type is specified as image/jpeg
Проблема я столкнулся в том, что мой file.getContentType()
возвращает значение, как «изображение/JPEG» вместо например «jpg», и таким образом показывает поврежденный файл.
Есть ли способ конвертировать это в jpg (или заставить его, возможно, принимать изображение/jpeg)? У меня есть много других форматов файлов (например, png) и думаю, что оператор switch, который делает некоторую логику, чтобы проверить, какой тип содержимого будет совершенно ненужным.
На самом деле, расширение файла не имеет значения в данном случае. Параметр, присланный в 'ImageIO.write', является неофициальным« именем формата ». Будут выполняться любые «JPEG», «JPG», «jpeg» или «jpg». – haraldK