怎样在WebBroswer中同时显示从数据库中找到的图片和文字? ( 积分: 50 )

  • 主题发起人 主题发起人 zhrrqy
  • 开始时间 开始时间
Z

zhrrqy

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在WebBroswer中同时显示从数据库中找到的图片和文字?
我已经解决了分别显示图片和文字的问题.就是不能把他们合在一起.
 
怎样在WebBroswer中同时显示从数据库中找到的图片和文字?
我已经解决了分别显示图片和文字的问题.就是不能把他们合在一起.
 
应该是和Stream有关系吧!但我不知道怎么写,大家给个提示
 
怎么连看都没人看?问题提得不对吗?我再加100分.
 
var picStream:TMemoryStream;
strStream:TStringStream;
buf:string;
begin
buf:='<a href=&quot;1212&quot;>dfsdfsd</a> ';
strStream:=TStringStream.Create(buf);
DM.Query.Close;
DM.Query.SQL.Clear;
DM.Query.SQL.Add('select photo from photos where id = 2' );
DM.Query.Open;
picStream:=TMemoryStream.Create;
TBlobField(DM.Query.FieldByName('photo')).SaveToStream(picStream);
Stream.CopyFrom(strStream,0);
Stream.Seek(0,soFromEnd);
Stream.CopyFrom(picStream,0);
end;
这样执行以后图片位置是乱码.
 
不如直接临时生成一个html文件,然后用broswer显示出来
嘎嘎~~方法笨的很...
 
就是不生成临时文件,直接写入流中,在broswer中显示出来.
 
你试试 把strStream改成TMemoryStream类型

我怀疑是把图片copy到TStringStream时出的问题
 
to:hs-kill
还是不行,在闪现一下下载对话框后就显示&quot;页面取消&quot;提示.
 
各位帮帮忙!真做不来了
 
如果是两个字符串数据,没有问题,如果是两个图片,只会显示第一张图片,另外一张就没有了.如果是图片和文本,文本正常,图片就显示乱码
 
恩。。。。。那会不会是你放到一个stream里,在读入webbrowser的时候当做一样东西来读了? 也就是说如果string放前面,后面的图片也被当做string来载入
如果图片放前面,后面的string被当做图片的一部分载入

为什么要一起显示?IE好象也是分别显示的。。。。
 
在一个webBroswer中怎么分别显示呀?请指教
 
哎。。。。。。那个。。。。。非常抱歉 我的想法错了,也大概明白了一部分:
放2个图片的时候,webbrowser读stream会先读取里面数据的格式,结果就读出了图片的格式,由于图片是存有大小的,所以webbrowser不管你stream里的数据有多少,只读获得的图片大小的数据,所以就只能显示第一张图片了。。。。。

重新开始吧,楼主想从数据库中生成网页所以要同时显示文字和图片?

或者楼主不想生成网页,只是想同时显示文字和图片?

有2中方法参考:
1。像网页那样,不过网页是不能存图片的,只能用连接,所有需要先从数据库中把图片读出来放到临时文件夹里,然后将网页内容添上这个临时文件夹的路径

2。不想让别人看到这个图片,那就做成word那样,生成一个word文档然后用word的方法添加图片和文字,然后读到stream里在webbrowser里显示。。
 
另外。。。再找了找资料,想不用外部连接同时显示图片和文字似乎只有RTF格式的文件才行。。。也就是word那样的。。

或者你把webbrowser改成richedit,RXlib里的RXRichedit,Delphi里的版本太低,不知道2005如何。。。
 
接受答案了.
 
后退
顶部