Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BLOB+HTML [D7, Firebird v2.0]


PEAKTOP ©   (2006-09-19 11:12:00) 

Доброе время суток, ув. мастера !
Есть таблица с БЛОБ-доменом, в котром лежит технический чертеж изделия в виде JPEG. Есть клиенский интерфейс к базе в виде клиентского ехе-файла, который, в общем-то, и наполняет эту таблицу. По логике задачи встал вопрос об ВЭБ-интерфейсе к базе в связи с тем, что цех териториально удален от конструкторского бюро и было принято решение использовать связку Apache+PHP+Firebird.
Вопрос, никто не подскажет, как "выдать" в HTML-страницу изображение из БЛОБ, как, например, они храняться в файлах DFM Delphi, или в файлах MHT. Т.е. перекодировать изображение в текст. Просто не хотелось бы заморачиваться с временными файлами на HTTP-сервере.


PEAKTOP   (2006-09-19 13:40:00) [1]

Спасибо, нашел уже сам.
Если кому интересно, то вот сырец, который покажет изображение из таблицы

CREATE TABLETABL$R_TMC_BLOB(
 TMC_ID INTEGER NOT NULL FOREIGN KEY REFERENCESTABL$R_TMC(ID),
 BLOB_IMAGE BLOBSUB_TYPE 0 SEGMENT SIZE4096
 );



 $firebird_database = '127.0.0.1:d:/database/DB.FDB';
 $firebird_username = 'SYSDBA';
 $fireburd_userpwd  = 'masterkey';

 $db_handle         = ibase_connect($firebird_database, $firebird_username, $fireburd_userpwd);
 if($db_handle != 0){
   $sql       = 'SELECT * FROM TABL$R_TMC_BLOB TB WHERE (TB.TMC_ID=10028) ';
   $qr_handle = ibase_query($db_handle, $sql);
   if($qr_handle != 0){
     while ($record = ibase_fetch_object($qr_handle)) {
       $blob_data   = ibase_blob_info($record->BLOB_IMAGE);
       $blob_handle = ibase_blob_open($record->BLOB_IMAGE);
       $jpeg_src    = ibase_blob_get($blob_handle, $blob_data[0]);
       if($jpeg_src != ''){      
         header("Content-type: ".image_type_to_mime_type(IMAGETYPE_JPEG));
         echo $jpeg_src;
       }      
     }
     ibase_free_result($qr_handle);
   }else{
     echo 'Cann\'t execute sql-query '.$sql;
   }
   ibase_close($db_handle);
 }else{
   echo 'Cann\'t connect to database';
 }


ANB   (2006-09-19 11:48:00) [2]


> Т.е. перекодировать изображение в текст.

распознавалку писать придется.


Наверх

Титульная страница Поиск, карта сайта Написать письмо