首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

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

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章