应该是关于XMLHTTP的问题吧,请牛人指教。

show_20 2014-11-27 02:52:24
我的网站服务器是普通的iis的ASP,我现在想实现这种效果。



比如用户访问我的网站页面 1.asp,

这时候,我的服务器经过5秒至60秒的时间,来制作一张图片,图片采用随机命名,

然后用户在网页1.asp里面,看到图片的内容。

-------------------------------------------

大概效果就是,用户打开一个网页,网页上显示:“正在制作图片,不要刷新本页面,请稍后...“,

然后,用户等一段时间后,服务器的图片已经制作出来了,比如图片随机名字123.jpg,

然后用户的页面上,自动加载显示这张图片。



注明:服务器生成的图片能先算出字节大小,然后再一部分一部分的生成出来,
所以如果能在用户的网页上,加一个进度条,来显示就更完美了。

本人是asp白痴,求源码,谢谢!
...全文
173 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn_aspnet 2014-11-27
  • 打赏
  • 举报
回复
<html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <style type="text/css"> <!-- *{margin:0;padding:0;} .ifr_div{width:600px;height:600px; position:relative;} .ifr_div img{ vertical-align:middle;} .proccess{border:0px solid;border-color:#009900;height:600px;line-height:600px;width:600px;text-align:center;background:#eee;margin:0;position:absolute;top:0;left:0;} .proccess b{vertical-align:middle;background:url(http://ok22.org/upload/images/20110902143538381.gif) no-repeat 0 center;padding-left:35px;display:inline-block;} --> </style> </head> <body> <div class="ifr_div"> <div class="proccess" id="loading"><b>正在加载中。。。</b></div> <iframe id="sfa" name="sfa" frameborder="0" scrolling="auto" height="600" width="600"></iframe> </div> <script language="JavaScript"> var iframe = document.getElementById("sfa"); iframe.src = "http://www.ok22.org"; if (iframe.attachEvent){ iframe.attachEvent("onload", function(){ document.getElementById("loading").style.display="none"; }); } else { iframe.onload = function(){ document.getElementById("loading").style.display="none"; }; } </script> </body> </html>
slwsss 2014-11-27
  • 打赏
  • 举报
回复
什么图片需要用那么长时间来生成? setInterval 定时ajax请求获取图片制作状态,如已生成直接加载图片
show_20 2014-11-27
  • 打赏
  • 举报
回复
感谢楼上,我已经自己做出来了,呵呵,在网上找了一个检查文件是否存在的例子,

<html> 
<head> 

<title>在线图片生成测试</title>
</head> 
<body>

<%
  Function CheckFile(FilePath) '检查某一文件是否存在
  Dim fso
  Filepath=Server.MapPath(FilePath)
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  If fso.FileExists(FilePath) then
  '存在
      CheckFile =  False
  Else
  '不存在
      CheckFile =  True
  End if
  Set fso = nothing
  End Function
%> 
 
    
<%      
ms = timer*1000
nxt = ms+100
do while CheckFile("xx.jpg")  '开始循环检查是否生成图片
if timer*1000 >= nxt then
nxt = nxt + 100
end if
loop

response.write "<img src=""xx.jpg"" />"
%>    
 
</body> 
</html> 
闪闪放光芒 2014-11-27
  • 打赏
  • 举报
回复
你在制作图片过程中不断的获取制作的字节然后和总字节相比就是制作进度了(用百分比表示)发到客户端就ok了。 客户端这样写: setInterval(function(){ $.get('制作图片程序',function(data){ //将data加载在页面当中显示就行了。 }) },200) 但是在制作图片程序当中你一定要判断当图片没有制作完时发给前台的是进度如果制作完发给前台是图片本身。
show_20 2014-11-27
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
什么图片需要用那么长时间来生成? setInterval 定时ajax请求获取图片制作状态,如已生成直接加载图片
我也是这样设想的,关键是不懂代码怎么写,求代码,谢谢。。。。。
show_20 2014-11-27
  • 打赏
  • 举报
回复
楼上的大神,谢谢你的代码,我试了一下,用来加载另一个网页效果不错,可是我是需要加载一张图片,并且需要先判断有没有这张图片,如果还没有生成出来,那还需要用户在页面上继续等待,等这张图片生成出来的了,才自动加载。 用户打开页面的时候,就随机先取好一个图片名字,然后等服务器5-60秒生成出这张图片,用户页面才开始加载显示这张图片。 应该需要判断这张图片是否已经生成出来了,如果是,则加载,如果否,则等候........ 求楼上大神指教。谢谢。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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