powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Определить размер jpg в BLOB-е на стороне БД
4 сообщений из 4, страница 1 из 1
Определить размер jpg в BLOB-е на стороне БД
    #39401391
Gnomic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вижу два варианта:
1. Побайтно читаем blob и пытаемся достать ширину и высоту согласно формата jpg.
2. Создаем в БД ф-цию на яве, где возможно, это делается, уже готовыми классами.

Пока смотрю 1-й вариант:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE
   v_blob BLOB;
   v_byte RAW(1);
   v_amount NUMBER := 1;
BEGIN 
   SELECT picture
     INTO v_blob
     FROM mytable
    WHERE ROWNUM <2;      

   FOR g IN 1..10
   LOOP
     dbms_lob.read(lob_loc => v_blob,
                   amount  => v_amount,
                   offset  => g,
                   buffer  => v_byte);
     DBMS_OUTPUT.put_line(g || ': ' || v_byte);
   END LOOP;   
END;


Но из того что выводится пока близко нет ничего похожего на ширину/высоту (пишут, дескать в 6-9 байтах должно быть).
Или не так смотрю. А может есть более простые варианты?
...
Рейтинг: 0 / 0
Определить размер jpg в BLOB-е на стороне БД
    #39401496
ordimage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gnomic А может есть более простые варианты?много букв, видно кропотливую подготовку, но стоило сначала воспользоваться поиском.
...
Рейтинг: 0 / 0
Определить размер jpg в BLOB-е на стороне БД
    #39401502
Gnomic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ordimage, воспользовался, но видно плохо.
В итоге пока ориентируюсь на вариант на яве (еще не тестил):
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or replace and compile java source named Img as
import oracle.sql.BLOB;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class Img {
   public static String GetImageSize(oracle.sql.BLOB imgBlob) throws Exception  {
      BufferedImage Image = ImageIO.read(imgBlob.getBinaryStream());
      // дурацкий возврат, но в контексте задачи устраивает
      return "<ht>" + Image.getHeight() + "</ht><wd>" + Image.getWidth() + "</wd>";
   }
}
...
Рейтинг: 0 / 0
Определить размер jpg в BLOB-е на стороне БД
    #39401506
Gnomic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ordimage, спасибо, ordimage рулит :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Определить размер jpg в BLOB-е на стороне БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]