Преобразование BLOB-объекта в изображение - PullRequest
1 голос
/ 24 ноября 2010

Я сохранил изображение в базе данных, используя тип Blob.Теперь я могу получить это изображение из базы данных с помощью выбора.Я хочу показать это изображение на моем JSP.В Jsp я создал таблицу и хочу, чтобы она была одним из столбцов.

У меня есть данные BLOB-объектов, как я могу преобразовать их обратно в изображение и отобразить на моей странице JSP.

Спасибо

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Просто получите InputStream большого двоичного объекта, используя ResultSet#getBinaryStream() и немедленно запишите его в OutputStream ответа HTTP вдоль правильного набора заголовков. Абсолютно нет необходимости хранить его временно на диске, как это предлагается в другом ответе.

Более подробный и полный пример кода можно найти в этом ответе .

0 голосов
/ 24 ноября 2010

Вот два варианта:

Вариант 1:

Возможно, это не самый лучший ответ, но в крайнем случае ...

Вам нужно будет использовать InputStreamReader, чтобы прочитать BLOB-объект из столбца, а затем создать FileOutputStream, а затем создать файл в «созданном» каталоге изображений. Например, если вы храните файлы изображений в каталоге с именем /pics, вы можете записать эти файлы в каталог с именем /pics/generated.

Есть некоторые недостатки этого подхода. Для одного вы будете генерировать файл каждый раз, когда страница запрашивается. который может работать, если все файлы будут иметь разные имена.

Вариант 2:

Вы бы использовали InputStreamReader для чтения большого двоичного объекта из строки, возвращаемой из SQL. Создайте OutputStream, используя byte[] в качестве места назначения потока. Тогда это просто вопрос записи byte[] в ваш JSP

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