说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi开发Web Server程序如何返回图像

HTML文档下载 WORD文档下载 PDF文档下载
Delphi开发Web Server程序如何返回图像

Internet/Intranet在九十年代可能是最流行的计算机术语了,不管是计算机行业内的人士还是计算机外的人士,都会使用Internet/Intranet,有的查资料,有的是宣传自己和公司,甚至有许多以前从没有想到用Internet的东西现在也在用Internet来解决,比如有的程控数字计算机维护用Internet来解决。在这一切应用之中,基于Web Server的应用程序的开发是基本点,但如何开发Web Server的程序呢?

Delphi 3是Borland公司1997年推出的可视化、面向对象的高效率的快速应用程序开发工具(RAD),提供了大量的最新功能,例如开发COM/DCOM,一步开发ActiveX对象,多层数据库应用程序MIDAS等,并且使用Delphi 3开发基于Web服务器的程序,如ISAPI/NSAPI,Win-CGI,CGI程序都十分方便。

使用Delphi 3开发Web Server程序是非常简单,方便的,因为在Delphi中提供了Web Module

WebApplication

TWebRequest

TWebResponse

TPageProducer等大量的对象供使用。而且由于Delphi强大的数据库开发能力,使得Web Server程序的开发更是锦上添花。在本文中主要讨论一般Web Server程序的开发,希望给您一个抛砖引玉的作用。

一般Web Server返回的信息有基于HTML的文字流和图像流,如Jpeg和Gif等。返回文字流的方法是使用TwebResponse.Content,在Delphi 3的Demos中有这样的例程,但如何返回图像呢?

返回图像的方法是用TwebResponse.ContentStream和TjpegImage类。具体实现如下,例如您有三张图片,希望在别人访问您的主页时能随机的显示一张,在您的主页中有如下的HTML语句:,那么在您的Web Server的缺省的TwebActiveItem中如下处理:

var

Jpg: TJpegImage;

S: TMemoryStream;

I: Integer;

Begin

Randomize;

I:= Random(3);

Jpg := TJpegImage.Create;

try

Jpg.LoadFromFile('C:\WebShare\Scripts\test'+IntToStr(I)+'.Jpg');

S := TMemoryStream.Create;

try

Jpg.SaveToStream(S);

S.Position := 0;

Response.ContentType := 'image/jpeg';

Response.ContentStream := S;

Response.SendResponse;

finally

S.Free;

end;

finally

Jpg.Free;

end;

end;

因为使用了TJpegImage类,所以必须在Uses中添加对JPEG文件的包含。

以上程序用Microsoft个人Web服务器和Netscape Navigator 4.04调试通过,完整的源程序和可执行代码在我的个人主页(http://www.nease.net/~borland)上,可以下载。

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘