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:WebShareScriptstest'+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文件的包含。