小明儿:一次问清嘛!!
//把BMP,JPG图片文件保存到库里
procedure TInputResultForm.SpeedButton1Click(Sender: TObject);
var
JPeg: TJPegImage;
Bmp: TBitmap;
// ff: Tgraphicfield; //存放bmp的字段
mm: tmemorystream;
begin
inherited;
try
Bmp := TBitmap.Create;
JPeg := TJPegimage.Create;
mm:=Tmemorystream.create;
DM.adoExeAttch.Edit;
if OpenDialog1.Execute then
if UpperCase(copy(Opendialog1.FileName,length(Opendialog1.FileName)-2,3))='BMP' then begin
Bmp.LoadFromFile(Opendialog1.FileName);
JPeg.Assign(Bmp);
JPeg.savetostream(mm);
TBlobField(DM.adoExeAttch.FieldByName('Image1')).LoadFromStream(mm);
end else begin
JPeg.LoadFromFile(Opendialog1.FileName);
TBlobField(DM.adoExeAttch.FieldByName('Image1')).loadfromfile(Opendialog1.FileName);
end;
Image1.Picture.Assign(jpeg);
finally
JPeg.Free;
mm.free;
Bmp.Free;
end;
end;
//从库里读出来显示
procedure TInputResultForm.SpeedButton2Click(Sender: TObject);
var
m:TMemoryStream;
jpg:TJpegImage;
begin
inherited;
m := TmemoryStream.Create;
if TBlobField(DM.adoExeAttch.FieldByName('Image1')).BlobSize>0 then
try
(DM.adoExeAttchImage1 as TBlobField).SaveToStream(m);
jpg := TJpegImage.Create;
m.Position := 0;
jpg.LoadFromStream(m);
Image1.Picture.Assign(jpg);
jpg.Free;
except
showmessage('供应商上传的图片格式不正确,无法浏览!')
end else
Image1.Picture.Assign(nil);
m.Free;
end;