2013-07-26 3 views
0
MultipartFile mpf = null; 
final BufferedImage resizedImage = imageResizeService.resize(requestResizeReq); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     ImageIO.write(resizedImage,mpf.getContentType() , baos); 
     profilePictureService.saveProfilePicture(account.getId(),baos.toByteArray()); 

resizedImage являетсяByteArrayOutputStream не установлен должным образом

[email protected]: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = [email protected] transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 200 height = 500 #numDataElements 3 dataOff[0] = 701 

baos пуст. Есть идеи?

+0

Для лучшей помощи в ближайшее время опубликуйте [SSCCE] (http://sscce.org/). Горячая ссылка на небольшое (в байтах) изображение с таким же результатом. –

ответ

0

У вас возникла проблема с контентом. Это был образ/jpeg, поэтому новый код выглядит следующим образом.

ImageIO.write(resizedImage,mpf.getContentType().replace("image/", "") , baos); 
0

Javadoc из ImageIO.write(...) говорит:

Записывает изображение с помощью произвольного ImageWriter, который поддерживает данный формат к OutputStream.

и

Возвращает false, если нет необходимости автор не найден.

Поэтому проверьте возвращаемое значение boolean ImageIO.write(...). Думаю, подходящий писатель не найден.

Смежные вопросы