答对者全分奉送!!!如何将服务器端的图形文件流(Response.ContentType = "image/jpeg")回传到客户端的Image

chuchenggang 2006-11-09 01:32:43
用ajax技术作了一个图形的实时刷新;

服务器端动态生成图形(Pgh.aspx) :
...
Bitmap bmp = new Bitmap(stream);
Response.ContentType = "image/jpeg";
Response.Cache.SetNoStore();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);


客户端Js如下:
function doStart()
{
createXMLHttpRequest();
var url = "Pgh.aspx";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = startCallback;
xmlHttp.send(null);
}

function startCallback()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var imgPgh = document.getElementById("ImgPgh");
///////////////////////////////////////////////////
//此处如何从xmhHttp的回传数据中得到图形数据呢????
///////////////////////////////////////////////////
imgPgh.src = xmlHttp.???????????????????

}
}
}
服务器端成功的生成了图形数据流,那么我怎么在客户端显示这个图形数据流呢????这个数据流在xmlHttp的reponse中,我怎么和我的客户端的Image.src相关联呢?
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
股神 2006-11-10
  • 打赏
  • 举报
回复
up
chuchenggang 2006-11-09
  • 打赏
  • 举报
回复
我现在这样做:
Js:
function refreshBmp()
{
var imgPgh = document.getElementById("ImgPgh");
imgPgh.src = "Pgh.aspx";
setTimeout("refreshBmp()", 5000);
}

这样调用没有问题,可是这样是不是就不是Ajax技术了,就是普通的同步刷新了吧。我想知道如果不用这样做,用Ajax的异步刷新方法,xmlHttp的response数据流如何传给客户端的Image

deadshot123 2006-11-09
  • 打赏
  • 举报
回复
一、孟子的网站上有图形的例子
<img src="pgh.aspx"/>

二、
javascript

var img=new Image();
img.src="";
var imgPgh = document.getElementById("ImgPgh");
imgPgh=img;

好像是这样

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧