怎样将blob字段里的文件保存到本地?急

heshantxwd 2003-01-09 02:44:03
我试过一些方法,如Tblobfield的loadfromfile(),等,还有流等,还有就是delphi的例程里写到,Tblobfield:=Ttable.fieldbyname(''),但我这里Tblobfield 和Tfield是不能兼容的,我都晕了,
...全文
712 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
heshantxwd 2003-01-21
  • 打赏
  • 举报
回复
谢拉
del_c_sharp 2003-01-10
  • 打赏
  • 举报
回复
代码看清楚才能测试哦.里面关于直接存储jpeg流 和ole格式数据的方法
不是任何字段都可以用的,四个过程两个是save两个是load,必须匹配~~
del_c_sharp 2003-01-10
  • 打赏
  • 举报
回复
^_^ 小小难道在给摩托说话? 当然测试了~~~
ihihonline 2003-01-10
  • 打赏
  • 举报
回复
moto 就是 moto
你测试了没有?
leaya11 2003-01-10
  • 打赏
  • 举报
回复
我直接把BLOB转换成字符串,放进流,保存。也没问题
lizongqi 2003-01-10
  • 打赏
  • 举报
回复
mark
del_c_sharp 2003-01-09
  • 打赏
  • 举报
回复
关于你的问题,楼上已经说了.
今天上午测试过blob类型的东西,希望对你理解流\Blob字段\Tfield有点帮助
有点乱,见谅:


procedure TForm1.Button1Click(Sender: TObject);
var
sm:TStream ;
jpeg:TJPEGImage ;
begin
// if ADODataSet1photo.IsNull then exit;
sm:=ADODataSet1.CreateBlobStream(adodataset1.FieldByName('photo'),bmRead);
jpeg:=TJPEGImage.Create ;
jpeg.LoadFromStream(sm);
image1.Picture.Assign(jpeg);
jpeg.Free ;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
fs:TFileStream ;
begin
if ADODataSet1photo.IsNull then showmessage('nil');
ADODataSet1.Edit ;
fs:=TFileStream.Create('c:\xxx.jpg',fmOpenRead);
ADODataSet1photo.LoadFromStream(fs);
ADODataSet1.Post ;
fs.Free ;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
ms:TMemoryStream ;
begin
ms:=TMemoryStream.Create ;
OleContainer1.CreateObjectFromFile( 'c:\xxx.doc',false);
OleContainer1.SaveToStream(ms);
ADODataSet1.Edit ;
ADODataSet1photo.LoadFromStream(ms);
ADODataSet1.Post ;
ms.Free ;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
sm:TStream ;
begin
sm:=ADODataSet1.CreateBlobStream(adodataset1.FieldByName('photo'),bmRead);
OleContainer1.LoadFromStream(sm);
sm.Free ;


end;

procedure TForm1.Button4Click(Sender: TObject);
var
ms:TMemoryStream ;
begin
ms:=TMemoryStream.Create ;
OleContainer1.SaveToStream(ms);
ADODataSet1.Edit ;
ADODataSet1photo.LoadFromStream(ms);
ADODataSet1.Post ;
ms.Free ;

end;
star_of_light 2003-01-09
  • 打赏
  • 举报
回复
TBlobField(ClientDataSet1.FieldByName('文件')).SaveToFile('D:\test\temp.doc');

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧