![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| dementiev |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
Всем привет. Не получается вывести картинку, которая лежит в базе Access в поле "Поле объекта OLE". Там лежит именно картинка, а не путь к ней.
Эти темы просмотрел: http://forum.vingrad.ru/forum/topic-99699/...mage/index.html http://forum.vingrad.ru/forum/topic-54327/...age/index.html), вроде сделал так же, но результат нулевой. Как достаю из БД:
код сервлета для передачи картиник на jsp:
код testPicture.jsp:
код сервлета для отображения картинки в response:
Добавлено через 45 секунд я решал похожую задачу, но тогда содержал в базе пути к картинкам - проблем не было. Здесь надо обязательно держать целую картинку в базе. Подскажите, в чём проблема в примере. |
||||||||
|
|||||||||
| dementiev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
Мне надо хранить в базе сами жпеги, не ссылки. Поле объекта OLE не подходит для этого? Если же подходит, то каким образом из него извлечь жпег, что не так в моём примере?
|
|||
|
||||
| tux |
|
||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Я видимо не понимаю грандиозности задумки. Зачем вы полученный из запроса параметр:
пишите в респонс в качестве картинки:
Насколько я понял нужно писать нечто добытое из базы. |
||||
|
|||||
| dementiev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
tux, спасибо за отклик.
По вопросу: мне надо в цикле на jsp вывести много объектов, у каждого своя картинка, т.е. нельзя залпом вывести 10 картинок, а надо так:картинка, другие поля объетка, картинка нового объекта. Насколько я понял, это такой "стандартный приём", когда сервлету дают в качестве параметра картинку, а он её пишет в респонс. Мне тут подсказали, что поле ole-db не подходит для этого, надо использовать memo. Вернее сказали, что ole не содержит напрямую jpeg, а надо через сложности его выковыривать(причём библиотеки платные). По поводу работы jsp и сервлета, я думаю, всё нормально, т.к. таким же образом я выводил картинки (но тогда я знал путь к ней). Думаю, проблема в том, что я получаю объект из resultSet в object, далее делаю из него string(когда достаю из request), потом делаю у строки .getBytes(). Видимо, где-то в этой цепочке я что-то делаю не так. Что - понять не могу, опыта мало Это сообщение отредактировал(а) dementiev - 9.6.2009, 20:31 |
|||
|
||||
| tux |
|
||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
OMG, никогда не думал что такое можно придумать. Что ж все так сложно-то? Тут проблемы практически на каждом этапе.
Сервлет получает этот идентификатор, читает из базы картинку, и пишет в респонс как у вас и сделано. То есть URL будет выглядеть так:
Со способом хранения изображений в Access к сожалению не могу помочь, в глаза ее не видел. Это сообщение отредактировал(а) tux - 9.6.2009, 20:51 |
||||
|
|||||
| dementiev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
намудрил я
по поводу access есть БОЛЬШАЯ проблема: blob там нету. Надо использовать "Поле объекта OLE (OLE object)" - а к нему из жавы очень муторный подход. Надо использовать jni вроде бы. |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
А просто какого-нить байтового массива нет? Здесь вроде удалось сохранить и получить - http://forums.sun.com/thread.jspa?threadID=722827. Хотя гораздо лучше конечно хранить изображения в файловой системе, тем более когда имеешь дело с Access. |
|||
|
||||
| dementiev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
спасибо огромное. я ,честно, рыл много, этой ссылки не нашёл :(
Это увеличит мой сон с 2х до нормальных 8ми часов А access, т.к. это курсовой, преподаватели часто оторваны от жизни, зато с принципами по выполнению тз Завтра обязательно отпишу, получилось ли. |
|||
|
||||
| dementiev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 8.2.2008 Где: Минск Репутация: 1 Всего: 1 |
Сделал по этому примеру http://forums.sun.com/thread.jspa?threadID=722827
В access создал поле типа ole db. Считывал и записывал двоичные данные, и в БД уже писался тип поля не как OLE DB, а как "Двоичные данные". Т.е. наверняка вообще неважно было, какого типа я создаю поле в access(типа "Двоичные данные" в конструкторе нету Если добавлять картинки через интерфейс access`a, то при считывании были проблемы(вернее, картинки не отображались). Пэтому и запись, и считывание - только программно. tux, ещё раз спасибо тебе. Вопрос решён. Поставьте, пожалуйста, тюксу за меня плюсик. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |