Форум: "Базы";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
ВнизЗапьсь JPEG в поле типа Image Найти похожие ветки
← →
Макс (2002-03-06 11:14) [0]Есть изображение TJpegImage и соответствующее поле в БД (тип поля Image). Вопрос как одно (JpegImage) поместить в другое (поле БД), и в последующем произвести обратную операцию (соотв. из поля БД в JpegImage).
Спасибо.
← →
doker (2002-03-07 20:15) [1]Лучше вообще не хранить картинки в БД (MS SQL отводит место под имидж страницами,- имидж - Битмап - посему по сети тащится медленно, да еще хочешь компресовать в jpg) проще прошарить на юзеров каталог и там картинки хранить - работает в ~ 1.5 р. быстрее.
Если уж надо, то как-нибудь так из БД тащить
Image1.Picture.Assign(ADODataSet1.FieldByName("Picture"));
в TImage картинка выводится и делай с ней что хошь...
← →
Delirium (2002-03-07 20:45) [2]
procedure TForm1.Button1Click(Sender: TObject);
var J:TJpegImage;
S:TMemoryStream;
begin
// Получили JPEG
J:=TJpegImage.Create;
J.LoadFromFile("e:\Iam.jpg");
// Поместили JPEG в Stream
S:=TMemoryStream.Create;
J.SaveToStream(S);
// Поместили Stream в BLOB
ADOQuery1.Edit;
TBLOBField(ADOQuery1.FieldByName("Im")).LoadFromStream(S);
ADOQuery1.Post;
// Очистили всё
J.Free;
S.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var J:TJpegImage;
S:TMemoryStream;
begin
// Креатим JPEG и Stream
J:=TJpegImage.Create;
S:=TMemoryStream.Create;
// Поместили BLOB в Stream
TBLOBField(ADOQuery1.FieldByName("Im")).SaveToStream(S);
// Поместили Stream в JPEG
J.LoadFromStream(S);
// Очистили Stream
S.Free;
// А в J теперь картинка
end;
Поле Im типа Image, на самом деле писать туда можно и сразу из файлаTBLOBField(ADOQuery1.FieldByName("Im")).LoadFromFile("e:\Iam.jpg");
но для наглядноси показал весь процесс.
> doker
В Image, можно помещать не только Bitmap или Jpeg, но и любые другие файлы (BLOB он и есть BLOB).
← →
Zak (2002-03-26 11:05) [3]Вот тут какойто портак... т.е. при занесении в J и после этого сохранение типа J.SaveToFile(...) получается файл равный 0?
Может это потому что файл jpg неправильно записывается в базу?
или может неправильно передается из потока?!
← →
Zak (2002-04-01 09:07) [4]И еще по теме doker а как создать на диске запароленый каталог чтоб туда занести файлы (и в базе прописать например пути в картинкам)?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c