Вниз
Скачать: CL | DM;

BLOB+HTML   Найти похожие ветки 

 
PEAKTOP ©   (2006-09-19 11:12) [0]

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


 
ANB ©   (2006-09-19 11:48) [1]


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

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


 
PEAKTOP ©   (2006-09-19 13:40) [2]

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

CREATE TABLE TABL$R_TMC_BLOB(
 TMC_ID INTEGER NOT NULL FOREIGN KEY REFERENCES TABL$R_TMC(ID),
 BLOB_IMAGE BLOB SUB_TYPE 0 SEGMENT SIZE 4096
 );



 $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";
 }



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
15-1162236939
Gero
2006-10-30 22:35
2006.11.19
Поставил себе Windows Vista


2-1162293434
Alral
2006-10-31 14:17
2006.11.19
Получение IP компьютера, подсоединившегося к серверу.


2-1162212959
Alral
2006-10-30 15:55
2006.11.19
Memo1.Lines, var str: TStrings


2-1162405074
Gamer
2006-11-01 21:17
2006.11.19
Отправка сообщения по сети


2-1162197366
Piero
2006-10-30 11:36
2006.11.19
TDBLookUpComboBox




   Наверх