Forums

Home » Liferay Portal » Pусский

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Yura Zakharov
Создание изображения из byte[] и показ его пользователю
January 18, 2013 4:57 AM
Answer

Yura Zakharov

Rank: New Member

Posts: 4

Join Date: January 15, 2013

Recent Posts

Добрый день!
Сейчас борюсь с одной проблемой: есть поле byte[] photo; в котором хранится изображение. Как можно вывести данное изображение на моем портлете?
Aniceto P Madrid
RE: Создание изображения из byte[] и показ его пользователю
January 18, 2013 11:36 AM
Answer

Aniceto P Madrid

Rank: Regular Member

Posts: 135

Join Date: May 24, 2008

Recent Posts

Добрый вечер!

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

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


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

Пока
Yura Zakharov
RE: Создание изображения из byte[] и показ его пользователю
January 20, 2013 8:50 PM
Answer

Yura Zakharov

Rank: New Member

Posts: 4

Join Date: January 15, 2013

Recent Posts

Ну проблема как раз состоит в том, чтобы создать этот url к изображению, которое у меня - просто набор байтов, которые хранятся в памяти. То есть проблема в том, как преобразовать этот набор байт в изображение стандартными средствами, либо средствами LifeRay.В частности интересует можно ли создать ссылку на BufferedImage?

И спасибо за уточнение: использую LifeRay SDK 6.1.1 + tomcat 7.0, и соответственно LIfeRay MVC
Yura Zakharov
RE: Создание изображения из byte[] и показ его пользователю
January 20, 2013 10:09 PM
Answer

Yura Zakharov

Rank: New Member

Posts: 4

Join Date: January 15, 2013

Recent Posts

Отчасти решил проблему следующим образом
1 BufferedImage img = ImageIO.read(new ByteArrayInputStream(photo));
2 Graphics2D g2 = img.createGraphics();
3 File imageFile = new File("C:\\Users\\y.zakharov\\IISPortal\\liferay-portal-6.1.1-ce-ga2\\tomcat-7.0.27\\temp\\images\\A1.png");
4 ImageIO.write(img, "png", imageFile);
5 photoPath = "C:\\Users\\y.zakharov\\IISPortal\\liferay-portal-6.1.1-ce-ga2\\tomcat-7.0.27\\temp\\images\\A1.png";

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

никакого изображения не выдает, хотя если просто скопировать путь и вставить в панель навигации - все нормально.
Alexey Kakunin
RE: Создание изображения из byte[] и показ его пользователю
February 1, 2013 3:51 AM
Answer

Alexey Kakunin

Rank: Expert

Posts: 472

Join Date: July 7, 2008

Recent Posts

Ключевое слово тут - <portlet:resourceURL> - полученный URL вставляем в тег img.
Ну и в портлете переопределить serveResource - что бы он выплевывал в поток контент картинки

==
Alexey Kakunin
EmDev Limited