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文件的包含。