Подскажите как положить *.jpg в базу firebird
Подскажите как положить *.jpg в базу firebird
Подскажите как положить *.jpg в базу firebird?
Компонент DBImage не хочет его принимать, хотя компонент Image, не имеет ничего против. Заранее благодарен за небольшой пример.
Компонент DBImage не хочет его принимать, хотя компонент Image, не имеет ничего против. Заранее благодарен за небольшой пример.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Подскажите как положить *.jpg в базу firebird
Твоя проблема не в том чтобы положить жипег в базу, это делается тривиально по ссылке, данной Дмитрием. Проблема в том как сказать TDBImage что в базе лежит именно жипег. Теоретически для этого служит небольшой заголовок, присобачиваемый в изображению, но на момент Delphi5 оно работало только с битмапами.SeGun писал(а): Подскажите как положить *.jpg в базу firebird?
Компонент DBImage не хочет его принимать, хотя компонент Image, не имеет ничего против. Заранее благодарен за небольшой пример.
Лично я отображаю содержимое блоба в простом TImage.
Если еще не поздно насчет компонентов, то
еще есть отдельный компонент EDBImage.
Этот компонент работает и с jpg.
http://www.programmersheaven.com/UserUp ... /23135.zip
Или вот еще ссылка но более новую версию:
http://www.torry.net/db/visible/db_images/EDBImg16.zip
еще есть отдельный компонент EDBImage.
Этот компонент работает и с jpg.
http://www.programmersheaven.com/UserUp ... /23135.zip
Или вот еще ссылка но более новую версию:
http://www.torry.net/db/visible/db_images/EDBImg16.zip
Хотелось бы вернуть тему к обсуждению.
Пытаюсь положить jpeg в FireBird. Операция проходит успешно, но почему-то в базе лежит уже в bmp. Подскажите почему почему пожалуйста.
jpg:=TJpegImage.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
jpg.CompressionQuality:=30;
jpg.Compress;
DBImage1.Picture.Graphic.Assign(jpg);
Пытаюсь положить jpeg в FireBird. Операция проходит успешно, но почему-то в базе лежит уже в bmp. Подскажите почему почему пожалуйста.
jpg:=TJpegImage.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
jpg.CompressionQuality:=30;
jpg.Compress;
DBImage1.Picture.Graphic.Assign(jpg);
PictStream := TMemoryStream.Create;
jpg1:=TJpegImage.Create;
jpg1.Assign(FrameData.Bitmap);
jpg1.CompressionQuality:=30;
jpg1.Compress;
jpg1.SaveToStream(PictStream);
TBlobField(FIBDataset.FieldByName('BLOB')).LoadFromStream(PictStream);
На основе хэлпа тоже не выходит.
Попробовал EDBImage-он тоже только с bitmap работет.
jpg1:=TJpegImage.Create;
jpg1.Assign(FrameData.Bitmap);
jpg1.CompressionQuality:=30;
jpg1.Compress;
jpg1.SaveToStream(PictStream);
TBlobField(FIBDataset.FieldByName('BLOB')).LoadFromStream(PictStream);
На основе хэлпа тоже не выходит.
Попробовал EDBImage-он тоже только с bitmap работет.
jpg.SaveToStream(PictStream);
FIBQuery.SQL.Text:='insert into table (blob_f) values (:blob_p)';
FIBQuery.ParamByName('blob_p').LoadFromStream(pictstream);
FIBQuery.ExecQuery;
pictstream.Free;
Таким образом получилось впихнуть jpg. Только вот просмотр ни DBImage, ни EDBImage не осиливают. Я понимаю DBImage, но EDBImage разработчиками обещано. Не пробовали?
FIBQuery.SQL.Text:='insert into table (blob_f) values (:blob_p)';
FIBQuery.ParamByName('blob_p').LoadFromStream(pictstream);
FIBQuery.ExecQuery;
pictstream.Free;
Таким образом получилось впихнуть jpg. Только вот просмотр ни DBImage, ни EDBImage не осиливают. Я понимаю DBImage, но EDBImage разработчиками обещано. Не пробовали?
1 минута поиска через яндекс:
http://codecentral.borland.com/Item.aspx?id=17989
по EDBImage - не знаю. к автору на сайт надо обращаться.
http://codecentral.borland.com/Item.aspx?id=17989
по EDBImage - не знаю. к автору на сайт надо обращаться.