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

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)上,可以下载。

史上最牛独立开发者:花20美元狂赚100万美元 Twitter VS. Instagram:照片分享大战爆发 第二届“龙芯杯”中国开源软件设计大赛圆满落幕 TUP Masters第六期实录:Jeffrey Richter讲解Win8应用开发与.NET4.5 [简讯]Bootstrap 2.2.2发布 官博宣布新特性 我们正处于API的黄金时代吗? 敏捷开发的26条至理名言 12月10日:1815年首位程序员Augusta Ada出生 TOP30+应用排行榜:十一月国内外综合榜单 抱大腿:Square礼品卡服务进驻Passbook 科技创新剑指开源产业 “龙芯杯”破题自主研发 25GPU的Linux集群6小时内破解标准Windows密码 Lady Gaga与大数据的“火花” 手势才是王道:3款应用捕获3个设计灵感 YouTube的挑战者 JustinTV教你如何打造实时视频网站 黑客挟持160万用户密码 抗议联合国监管互联网 Twitter面对危机火速上线照片滤镜产品 Nike推创业孵化器:每个参与团队获2万美金 傲游发布云浏览器 支持跨终端数据同步 12个git实战建议和技巧 用友UAP产品线总设计师史周军访谈录 IE10新功能解析 支持Media Query(图) 单页Web应用或引领下一代Web新趋势? [CTO俱乐部第89期]新时代的前端开发 [多图]160台Mac mini打造的数据中心机架 是谁动了我的CPU! 欧朋CEO:GPU加速是手机浏览器的新趋势 TOP30专访:Splashtop研发中心总经理Alex Xu 2012Q3国内App开发者半数以上入不敷出 细微之处见真章 为什么要在try-catch-finally里加大括号 独立开发者:面对攻击就要“脸皮厚+更自豪” 数据库高手请进,值得一看 怎么从文本文件里取出其内容? 请大家帮忙看一下,关于Delphi的三层MIS开发 如何获得经典的C++/MFC方面的电子文档,中英都行,谢谢! 压缩中提到的文件头有什么作用 , 请问各位专家,在网页上如何制作视频点播?有几种方式! 我报了中程谁有历年的中程试卷? 我收到的信都是?号,怎么看???? VB中是否有移位操作符??是否有_能够得到数据类型宽度的函数? 哪里有core java的e版down啊? 有事好商量!请进! DLL编程错误,请高手指教一下!! 活见鬼,真气人....... 问一个trigger问题? 问一下:我的char*都用_T("asdfsafd")表示了,资源也没任何问题,可有时候运行程序显示乱码 在论坛里,发一个帖子新开一个窗口,当发完后让原来那个窗口刷新一下 我的机子到底怎么回事???? 我试试.. CListCtrl中如何选定整个一行? 来到济南天气太热,特来送分 ★★★★★ 见于现在伪ID和盗用密码的现象十分嚣张,我提议…… ★★★★★ 请教各位,我用vb6.0访问ms sql7.0数据库,为什么有时出现,“过期,数据已超时?” 请问COM和DLL有什么区别和联系?(30分) 关于侯老师 win95-a-developers-guide 一书的源配书... ISAPI中不能存取ASP中的Session、Application变量?高手你老人家在哪里? 大家来看看这些招聘题目合不合适 提一个网页制作的问题哈,大家不要扔西红市啊,网叶制作可是程序员的基本技能之一 activeskin里的skinbuilder有谁用过???来讨论吧 我在msdn上看到vb中的字符串有两种:定长字符串和变长字符串。请问如何分别声明这两种类型? 怎样在ADO中引用已打开的recordset的某一字段值,请给几个例,谢谢了! seedundersnow and holyfire help me!about 8253! 谁有cute ftp 4.2.6 beta的注册码 请问如何把页面查询到的记录导入到Excel中呢? 有用过TAdvStringGrid的吗?OnGetEditorType( )为何不被调用? 请教高手如何用Xsl编制函数控制Xml??急急 哪位给一个MD5的例子!谢谢了 长春的李延生来领分 求救:一个VC中多线程的问题 提个问题,原来对VC尤其是界面和C++语法这一块比较熟,现在由于公司需要转C++BUILDER,难不难,需要熟悉哪些 [总300分,会继续加分]哪位大哥用编程实现过创建SQL Server的DTS package并且run the package的全过程[急] 能不能使用html 压缩中提到的文件头有什么作用 , 保含哪些信息 菜鸟问题1 提一个网页制作的问题哈,大家不要扔西红市啊,网叶制作可是程序员的基本技能之一。。。。。。。 关于:import java.util.StringTokenizer; 问题! 如何实现在某特定时间(如每月1号,或7天后)执行特定asp程序? 在开发工具中如:(vc,jsp)中如何得到oracle中自定义函数的返回值 当form被移动的时候会相应什么事件的? 关于使用mscomm32.ocx中的一些问题 类似股票信息显示系统的问题(图形显示) 强烈抗议:无怨无仇,为什么冒用我的ID 写一些乱七八糟的东西????? 一个圆柱形蓄水池底直径是10米,池深1米这个蓄水池的容积是多少立方米 简便计算:0.75x16+3/4x5一75% 2.7x0.6+4/5x2.7-2.7x2/简便计算:0.75x16+3/4x5一75% 2.7x0.6+4/5x2.7-2.7x2/5 95x38+62÷1/95 {5/6-(2/5+1/3)}x5/7分数啊.急 一个圆柱形蓄水池,底面直径是10米,池深5米.这个水池的占地面积是多少平方分米?(2)在四周和底面抹上水泥,水泥的面积是多少平方分米?(3)蓄水池的最大容积是多少立方分米? 2²+4²+6²+···+50² 编写一个程序,计算x-1/2*x3/4+1/2*3/4*x5/6-1/2*3/4*5/6*x7/8+.的近似值直到最后一项的绝对值小于eps 用c语言编~ 一个长方体蓄水池长8m,宽4m,深3m.这个蓄水池占地面积是多少平方米?在池底和四周抹水泥,抹水泥的面积多少?蓄水多少立方米? 2²+4²+6²+.+50²等于多少等于多少赶时间 (X一5/6)X5/6=25. 校要建一个底面周长12.56M,高3M的圆柱形蓄水池,这个水池的占地面积是多少 抹水泥的面积有多少平方M? 计算:1²-2²+3²-4²+5²-6²+...+49²-50²急、在线等 解方程,(x+5.5)X5=120怎么算用T等式 某农场挖了一个圆柱型蓄水池,底面直径是3m,高是8m 1要在这个蓄水池的周围和底面上抹上一层水泥,抹水泥的面积是多少平方米?2在这个蓄水池内装满水可以装多少立方米的水 求(a-2)²-6(2-a)的值 其中a=-2 计算(一5)一(一5)x5分之一x(一4) 一个圆柱形蓄水池,底面半径2m,深3m,在池底和四周抹上水泥.如果每平方米用水泥20千克,水泥要用多少千克 (1).(a-b)²-(a-b)-2 (2).(a+b)²+(a+b)-6 已知sinθ,cosθ是关于x的方程x^2-ax+a=o的两个根 θ求1.sin^3(θ)+cos^3(θ)的值2.tanθ+1/tanθ的值 一个长方体水池长5分米宽4分米深3分米,水面离池口4厘米放一块棱长2.1分米的正主体石块水会溢出多少毫升 a-b=2,a²+b²=6,则ab=? 已知关于x的方程2x^2-〔(根号3)+1〕x+m=0的两根为 sin θ,cos θ ,θ∈(0,2π)1.sinθ/(1-cotθ)+cosθ/(1-tanθ)的值2.m的值3.方程的两根及此时θ的值 一个长方体水池,长6米,宽5米,深0.68米,水面距池口18厘米,这个水池里有多少立方米的水? 若a+b=6.ab=2.则a²+b²=()(a-b)²=() 已知 θ∈【0,2π】sinθ,cosθ是关于X的方程X方-KX+K+1=0的根,求角θ 一个长方体水池长5分米,宽4分米深3分米,水面离池口4厘米放一块棱长2.1分米的正主体石块这时水会溢出吗? ①a(a-1)-2=0②a(a²-1)-6≠0.求a 已知关于x的方程2x^2-(√3+1)x+m=0的两个实数根为sinθ和cosθ,θ属于(0,2π)求方程的根及θ的值 某化工厂挖了一个蓄水池,能蓄水1080吨.这个蓄水池长24米,宽8米,深是多少米(每立方米的水重1吨 打一成语 一 7/8 1、2、5 二四六八十 0000 40÷6 1% 7÷2 1000²=100×100×100 设x1、x2 是一元二次方程x2+4x-3=0的两个根,2x1(x22+5x2-3)+a =2,  则a = .设x1、x2是一元一次方程X平方+4x-3=0的两根,2x1(x2的平方+5x2-3)+a=2,则a=我知道怎么算了 a=8 心情好啊 一个长18米的长方体蓄水池,现蓄水720吨,池内水深4米,这个水池宽多少米?(1立方米的水重1吨) 打一成语 (1)一 (6)0000 (7)40÷6 (8)1% (9)7÷2 (10)1000²=100×100×100二四六八十÷7 设X1、X2是一元二次方程 X - 4X - 3 = 0 的两个根,2X1(X2+5X2-3)+a=2,则a=___ 一个长方体的蓄水池从里面量长7.6米,宽5米如果池中以蓄水22.8吨池中水深多少米每立方米水重1吨列方程解答一个长方体的蓄水池从里面量长7.6米,宽5米。如果池中以蓄水22.8吨池中水深多少 (1²+3²+5²+……+99²)-(2²+4²+6²+……+100²) 设x1,x2是一元二次方程x²+4x-3=0的两个根,2x1(x2²+5x2-3)+a=2,则a= 一个圆柱形蓄水池,底面半径4米,深5米(1)这个水池能蓄水多少吨?(每立方米水重一吨)若在这个水池的侧面和池底抹上一层水泥,抹水泥的面积多大? 1-2²+3²-4²+5²-6²+……+99²-100² 关于x的实系数一元二次方程x²+ax+2b=0的两个实数根分别位于区间(0,1)(1,2)则b-2/a-1的取值范围是 一个圆柱形水池,底面半径3米.5米.这个水池最多可盛水多少吨?(1立方米的水重1吨) 1²-2²+3²-4²+5²-6²+····+99²-100²=急求,好的加分 关于x的一元二次方程5x²-ax-1=0有两个不同的实根 一个位于区间(-1,1)另一个(1,2关于x的一元二次方程5x²-ax-1=0有两个不同的实根 一个位于区间(-1,1)另一个(1,2) 则实数a的取值范围 求 某动物园有一个圆柱形状的水池内直径10米深0.6米.如果放水后水面离池口0.1米,有水多少吨(1立方米水重1 7.5X2.7+1.9X2.5 使用乘法分配率 设实系数一元二次方程x^2+ax+2b-2=0有两个相异实根,其中一根在区间(0,1)内,另一根在区间(1,2)内,则(b-4)/(a-1)的取值范围是我知道这题可用线性规划做.想问下,为什么不能用韦达定理,也就是 4/5 x4+2/5x2+1/5x16 简便计算 怎么简算.0.5x2.5x12.5x64 实系数一元二次方程x²+ax+2b=0有两个根,一个根在区间(0,1),另一个根在区间(1,2)内,求:(1),点(a,b对应的区域的面积?(2).b-2/a-1的取值范围.(3).(a-1²)+(b-2)²的值域 请问:一个长方体蓄水池,内底面积是13.5平方米,池中已蓄水1o.8立方米.已知水的深度是池深的一半,这...请问:一个长方体蓄水池,内底面积是13.5平方米,池中已蓄水1o.8立方米.已知水的深度是 六年级4/5x4+2/5x2+5/1x16怎么算啊? 1.25X0.32X2.5 简算 一个长方体蓄水池,占15平方米,池深1.5米,池内最多能蓄水多少立方米?合是多少升 (4.4x7.5x4.8)除以91.5x2.5x2.4)简便运算 1.25x0.32x250 简算 一个底面半径10米的圆柱形蓄水池能蓄水1570立方米如果在挖2.5米可以蓄水多少立方米 3、5x2、1,简便运算 (4.8x7.5x8.1)除以(2.5x2.7x2.4) 挖一个圆柱形蓄水池底面半径是5米,深是4米,这个蓄水池可蓄水多少立方米?(用综合式计算) 简便运算:11分之2x7分之5+11分之5x2又7分之6,对的我一定立马采纳, 2/5x2/10+9/10x0.4-2除以5x1/10,x:是乘,尽快,我明天要演讲了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn