Fórum

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

Yura Zakharov, modificado 11 Anos atrás.

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

New Member Postagens: 4 Data de Entrada: 15/01/13 Postagens Recentes
Добрый день!
Сейчас борюсь с одной проблемой: есть поле byte[] photo; в котором хранится изображение. Как можно вывести данное изображение на моем портлете?
thumbnail
Aniceto P Madrid, modificado 11 Anos atrás.

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

Regular Member Postagens: 120 Data de Entrada: 24/05/08 Postagens Recentes
Добрый вечер!

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

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


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

Пока
Yura Zakharov, modificado 11 Anos atrás.

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

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

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

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

New Member Postagens: 4 Data de Entrada: 15/01/13 Postagens Recentes
Отчасти решил проблему следующим образом
 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 11 Anos atrás.

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

Liferay Master Postagens: 621 Data de Entrada: 07/07/08 Postagens Recentes
Ключевое слово тут - <portlet:resourceURL> - полученный URL вставляем в тег img.
Ну и в портлете переопределить serveResource - что бы он выплевывал в поток контент картинки

==
Alexey Kakunin
EmDev Limited