Foros de discusión

Создание изображения из byte[] и показ его пользователю

Yura Zakharov, modificado hace 11 años.

Создание изображения из byte[] и показ его пользователю

New Member Mensajes: 4 Fecha de incorporación: 15/01/13 Mensajes recientes
Добрый день!
Сейчас борюсь с одной проблемой: есть поле byte[] photo; в котором хранится изображение. Как можно вывести данное изображение на моем портлете?
thumbnail
Aniceto P Madrid, modificado hace 11 años.

RE: Создание изображения из byte[] и показ его пользователю

Regular Member Mensajes: 120 Fecha de incorporación: 24/05/08 Mensajes recientes
Добрый вечер!

Зависеть от языка программирования и фреимгуорк. Например, если MVC Liferay тебе нужно написать в .jsp файл

 <img src="some url to image" alt="alt text" class="class list">


Надеюсь что ты меня понимешь.

Пока
Yura Zakharov, modificado hace 11 años.

RE: Создание изображения из byte[] и показ его пользователю

New Member Mensajes: 4 Fecha de incorporación: 15/01/13 Mensajes recientes
Ну проблема как раз состоит в том, чтобы создать этот url к изображению, которое у меня - просто набор байтов, которые хранятся в памяти. То есть проблема в том, как преобразовать этот набор байт в изображение стандартными средствами, либо средствами LifeRay.В частности интересует можно ли создать ссылку на BufferedImage?

И спасибо за уточнение: использую LifeRay SDK 6.1.1 + tomcat 7.0, и соответственно LIfeRay MVC
Yura Zakharov, modificado hace 11 años.

RE: Создание изображения из byte[] и показ его пользователю

New Member Mensajes: 4 Fecha de incorporación: 15/01/13 Mensajes recientes
Отчасти решил проблему следующим образом
 BufferedImage img = ImageIO.read(new ByteArrayInputStream(photo));
 Graphics2D g2 = img.createGraphics();
 File imageFile = new File("C:\\Users\\y.zakharov\\IISPortal\\liferay-portal-6.1.1-ce-ga2\\tomcat-7.0.27\\temp\\images\\A1.png");
 ImageIO.write(img, "png", imageFile);
 photoPath = "C:\\Users\\y.zakharov\\IISPortal\\liferay-portal-6.1.1-ce-ga2\\tomcat-7.0.27\\temp\\images\\A1.png"; 

Но сейчас проблема в следующем: как укзаать ссылку в портлете на эту картинку?
При попытке вывести
 <img src="&quot;+photoPath + &quot;">

никакого изображения не выдает, хотя если просто скопировать путь и вставить в панель навигации - все нормально.
thumbnail
Alexey Kakunin, modificado hace 11 años.

RE: Создание изображения из byte[] и показ его пользователю (Respuesta)

Liferay Master Mensajes: 621 Fecha de incorporación: 7/07/08 Mensajes recientes
Ключевое слово тут - <portlet:resourceURL> - полученный URL вставляем в тег img.
Ну и в портлете переопределить serveResource - что бы он выплевывал в поток контент картинки

==
Alexey Kakunin
EmDev Limited