Рендеринг изображений в виде слайд-шоу, которые хранятся в базе данных как longblob - PullRequest
1 голос
/ 07 сентября 2011

Мы разработали небольшое веб-приложение с использованием Spring и Hibernate. Наше приложение имеет функцию загрузки изображений и видео, и мы храним изображения и видео в базе данных в формате longblob.
Мы пытаемся отобразить эти изображения в виде слайд-шоу, используя уже существующую «простую галерею элементов управления» на основе javascript http://www.dynamicdrive.com/dynamicindex4/simplegallery.htm, которую можно найти в Интернете.

Я попытался вызвать html-страницу, которая будет перенаправлена ​​контроллером на страницу jsp следующим образом:

var Imagearray1 = [
            <c:set var="count" value="0"/> 
            <c:set var="comma" value=","/>
            <c:forEach items="${imageList}" var="image" varStatus="loop">
            <c:set var="count" value="${count + 1}"/>
              [$.get('imagedisplay.html');,'http://','${image.imageTitle}','${image.imageDescription}']<c:if test="${fn:length(imageList) != count}"> <c:out value="${comma}"/> </c:if>            
            </c:forEach>
        ];

где imageList - список изображений из базы данных. Вы можете увидеть фактический код Imagearray1 по ссылке, которую я упомянул.

Как я могу отображать изображения с помощью этой галереи? (Или) если есть какой-либо другой способ отображения изображений в виде слайд-шоу, объясните мне.

1 Ответ

0 голосов
/ 07 сентября 2011

Вам необходимо создать сервлет, который передает содержимое изображения из БД в ответ HTTP, вместе с набором правильных заголовков ответа.Несенсорный $.get('imagedisplay.html'); ajax-вызов должен быть заменен URL-адресом сервлета, который возвращает изображение, например,

var images = [
    <c:forEach items="${images}" var="image" varStatus="loop">
        ['imageservlet/${image.id}', '', '${image.imageTitle}', '${image.imageDescription}']${!loop.last ? ',' : ''}
    </c:forEach>
];

Отобразите свой сервлет изображения на шаблон URL-адреса /imageservlet/* и получите идентификатор изображения (илиfilename) по request.getPathInfo() и, наконец, выберите его как InputStream из БД и запишите его в OutputStream ответа.Вы можете найти базовый пример в этом ответе: Как получить и отобразить изображения из базы данных на странице JSP? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...