1 YES
2 YES
procedure TForm1.ToolButton7Click(Sender: TObject);
var
MsImg: TMemoryStream;
JpImg: TJpegImage;
begin
try
MsImg := TMemoryStream.Create;
MsImg.LoadFromFile('C:\1.Jpg');
JpImg := TJpegImage.Create;
//JpImg.LoadFromStream(MsImg);
//JpImg.SaveToFile('C:\2.Jpg');
ADODataSet1.Append;
TBlobField(ADODataSet1.FieldByName('Img')).LoadFromStream(MsImg);
ADODataSet1.Post;
JpImg.LoadFromStream(MsImg);
JpImg.SaveToFile('C:\3.Jpg');
finally
MsImg.Free;
JpImg.Free;
end;
end;
如果改为:
try
MsImg := TMemoryStream.Create;
MsImg.LoadFromFile('C:\1.Jpg');
JpImg := TJpegImage.Create;
JpImg.LoadFromStream(MsImg);
JpImg.SaveToFile('C:\2.Jpg');
ADODataSet1.Append;
TBlobField(ADODataSet1.FieldByName('Img')).LoadFromStream(MsImg);
ADODataSet1.Post;
//JpImg.LoadFromStream(MsImg);
//JpImg.SaveToFile('C:\3.Jpg');
finally
MsImg.Free;
JpImg.Free;
end;
同一个数据:
procedure TForm1.ToolButton5Click(Sender: TObject);
var
MsImg: TMemoryStream;
JpImg: TJpegImage;
begin
try
TBlobField(ADODataSet1.FieldByName('Img')).SaveToFile('c:\4.jpg');
MsImg := TMemoryStream.Create;
JpImg := TJpegImage.Create;
TBlobField(ADODataSet1.FieldByName('Img')).SaveToStream(MsImg);
JpImg.LoadFromStream(MsImg);
JpImg.SaveToFile('C:\5.Jpg');
finally
JpImg.Free;
MsImg.Free;
end;
end;
结果:C:\4.Jpg和C:\1.Jpg是一样的