Вход на сайт
достать картинку из базы данных
198
07.03.07 19:43
Я загружаю картинку с веб-страницы в базу данных (PostgreSQL), сохраняю в двоичном коде (тип bytea). Как мне ее теперь оттуда достать и сохранить, например в папке Temp? Пишу я всё в JSP.
NEW 08.03.07 07:28
в ответ tavy 07.03.07 22:07
Хм.. По ключевым словам 'jdbc binary' первая же ссылка - http://jdbc.postgresql.org/documentation/80/binary-data.html. Пойдёт?
NEW 08.03.07 10:09
в ответ scorpi_ 08.03.07 07:28
Этот код
PreparedStatement ps = conn.prepareStatement("SELECT img FROM images WHERE imgname = ?");
ps.setString(1, "myimage.gif");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
byte[] imgBytes = rs.getBytes(1);
// use the data in some way here
}
rs.close();
ps.close();
я уже видела. Меня интересует с места // use the data in some way here
как собрать и сохранить картинку?
PreparedStatement ps = conn.prepareStatement("SELECT img FROM images WHERE imgname = ?");
ps.setString(1, "myimage.gif");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
byte[] imgBytes = rs.getBytes(1);
// use the data in some way here
}
rs.close();
ps.close();
я уже видела. Меня интересует с места // use the data in some way here
как собрать и сохранить картинку?
NEW 09.03.07 11:27
в ответ tavy 07.03.07 19:43
Сорри, что немного не в тему, но храннить картинку в базе в двоичном виде непрактично, потому что бза со вренем может очень распухнуть. Не проще картинку хранить на диске, а в базе хранить имя картинки как стринг, читать имя файла из базы, а картинку грузить потом с диsка?
национализм(антисемитизм и т.д) - это не кровь в жилах, это моча в голове
NEW 09.03.07 18:26
в ответ tavy 09.03.07 16:20
Проверяем content-type у запроса, если он multipart, то вызываем getInputStream(), читаем через него данные в byte[], а дальше как я уже писал.
Или качаем один из специализированных классов - http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html, http://jakarta.apache.org/commons/fileupload/
Или качаем один из специализированных классов - http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html, http://jakarta.apache.org/commons/fileupload/