一般Web Server返回的信息有基于HTML的文字流和图像流,如Jpeg和Gif等。返回文字流的方法是使用TwebResponse.Content,在Delphi 3的Demos中有这样的例程,但如何返回图像呢? 返回图像的方法是用TwebResponse.ContentStream和TjpegImage类。具体实现如下,例如您有三张图片,希望在别人访问您的主页时能随机的显示一张,在您的主页中有如下的HTML语句:<IMG SRC="/scripts/mypict.dll">,那么在您的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文件的包含。
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文件的包含。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货