Я разрабатываю веб-приложение с использованием Struts 2.1.2 и Hibernate 3.2.6.GA. У меня есть объект, User
, который я сопоставил с таблицей USERS
в БД, используя Hibernate. Я хочу иметь изображение, связанное с этой сущностью, которую я планирую хранить как BLOB
в БД. Я также хочу отображать изображение на веб-странице вместе с другими атрибутами User
.Как я могу показывать изображение в браузере с помощью Struts 2 + Hibernate 3?
Решение, которое я мог придумать, состоял в том, чтобы иметь стол IMAGES(ID, IMAGE)
, где IMAGE
- столбец BLOB
. USERS
будет иметь столбец FK
под названием IMAGEID
, который указывает на таблицу IMAGES
. Затем я буду отображать свойство на объекте User
, которое называется imageId
, сопоставленное с этим IMAGEID
как длинное. При рендеринге страницы с помощью JSP я бы добавил изображения как <img src="images.action?id=1"/>
и т. Д., И у вас есть действие, которое считывает изображение и передает содержимое в браузер, при этом заголовки должны кэшировать изображение в течение длительного времени.
Будет ли это работать? Есть ли лучший подход для рендеринга изображений, хранящихся в БД? Сохраняет ли такие изображения в БД правильный подход в первую очередь?
Я просто прочитал, что это не работает с IE, пока не будет выпущена версия 8. Кроме того, изображение не кэшируется в браузере. Поэтому, несмотря на простоту кодирования, я думаю, что буду использовать свою оригинальную схему. – 2008-09-30 03:05:03
также помните, что существует (действительно строгий) предел длины такой строки. От 1 тыс. Символов до 100 тыс. В зависимости от браузера. – 2011-12-28 14:33:24