求教高手前来救命,一个关于asp.net上传文件时显示进度条的问题
前些天公司下达的了一个任务关于asp.net上传文件时显示上传时的进度条,这些天在网站找了N久,全部都是不知道从那里抄来的乱七八糟的一大串乱码。下载下来的了一些资源,要么...
前些天公司下达的了一个任务
关于asp.net上传文件时显示上传时的进度条,这些天在网站找了N久,全部都是不知道从那里抄来的乱七八糟的一大串乱码。
下载下来的了一些资源,要么就没有进度条,要么进度条只能当成摆设,根本就没有。
现在求教CSDN资深的asp.net 工程师:(非常感谢你们帮我)
上传进度表的原理是什么:
比如说先获取需要上传的文件的大小,然后把这大小设为100%,请问:如何获取文件已经上传了多少,还有多少没有上传完。
可否给我一段源代码,我实在写不出来 展开
关于asp.net上传文件时显示上传时的进度条,这些天在网站找了N久,全部都是不知道从那里抄来的乱七八糟的一大串乱码。
下载下来的了一些资源,要么就没有进度条,要么进度条只能当成摆设,根本就没有。
现在求教CSDN资深的asp.net 工程师:(非常感谢你们帮我)
上传进度表的原理是什么:
比如说先获取需要上传的文件的大小,然后把这大小设为100%,请问:如何获取文件已经上传了多少,还有多少没有上传完。
可否给我一段源代码,我实在写不出来 展开
3个回答
展开全部
protected void Button1_Click(object sender, EventArgs e)
{
initJavascript();
//这里写上传文件的代码
f = "<script>document.getElementById('loader_container').style.display = 'none';</script>";
Page.RegisterStartupScript("hideprogress", f);//隐藏进度条
}
#region "上传中效果"
/// <summary>
/// 页面加载中效果
/// </summary>
public void initJavascript()
{
string f = string.Empty;
f += " <script language=JavaScript type=text/javascript>";
f += "var t_id = setInterval(animate,20);";
f += "var pos=0;var dir=2;var len=0;";
f += "function animate(){";
f += "var elem = document.getElementById('progress');";
f += "if(elem != null) {";
f += "if (pos==0) len += dir;";
f += "if (len>32 || pos>79) pos += dir;";
f += "if (pos>79) len -= dir;";
f += " if (pos>79 && len==0) pos=0;";
f += "elem.style.left = pos;";
f += "elem.style.width = len;";
f += "}}";
f += "</script>";
f += "<style>";
f += "#loader_container {text-align:center; position:fixed;_position:absolute; top:40%; width:100%; left: 0;}";
f += "#loader {font-family:Tahoma, Helvetica, sans; font-size:11.5px; color:#000000; background-color:#FFFFFF; padding:10px 0 16px 0; margin:0 auto; display:block; width:130px; border:1px solid #5a667b; text-align:left; z-index:2;}";
f += "#progress {height:5px; font-size:1px; width:1px; position:relative; top:1px; left:0px; background-color:#8894a8;}";
f += "#loader_bg {background-color:#e4e7eb; position:relative; top:8px; left:8px; height:7px; width:113px; font-size:1px;}";
f += "</style>";
f += "<div id=loader_container>";
f += "<div id=loader>";
f += "<div align=center>文件上传中 ...</div>";
f += "<div id=loader_bg><div id=progress> </div></div>";
f += "</div></div>";
HttpContext.Current.Response.Write(f);
HttpContext.Current.Response.Flush();
}
#endregion
{
initJavascript();
//这里写上传文件的代码
f = "<script>document.getElementById('loader_container').style.display = 'none';</script>";
Page.RegisterStartupScript("hideprogress", f);//隐藏进度条
}
#region "上传中效果"
/// <summary>
/// 页面加载中效果
/// </summary>
public void initJavascript()
{
string f = string.Empty;
f += " <script language=JavaScript type=text/javascript>";
f += "var t_id = setInterval(animate,20);";
f += "var pos=0;var dir=2;var len=0;";
f += "function animate(){";
f += "var elem = document.getElementById('progress');";
f += "if(elem != null) {";
f += "if (pos==0) len += dir;";
f += "if (len>32 || pos>79) pos += dir;";
f += "if (pos>79) len -= dir;";
f += " if (pos>79 && len==0) pos=0;";
f += "elem.style.left = pos;";
f += "elem.style.width = len;";
f += "}}";
f += "</script>";
f += "<style>";
f += "#loader_container {text-align:center; position:fixed;_position:absolute; top:40%; width:100%; left: 0;}";
f += "#loader {font-family:Tahoma, Helvetica, sans; font-size:11.5px; color:#000000; background-color:#FFFFFF; padding:10px 0 16px 0; margin:0 auto; display:block; width:130px; border:1px solid #5a667b; text-align:left; z-index:2;}";
f += "#progress {height:5px; font-size:1px; width:1px; position:relative; top:1px; left:0px; background-color:#8894a8;}";
f += "#loader_bg {background-color:#e4e7eb; position:relative; top:8px; left:8px; height:7px; width:113px; font-size:1px;}";
f += "</style>";
f += "<div id=loader_container>";
f += "<div id=loader>";
f += "<div align=center>文件上传中 ...</div>";
f += "<div id=loader_bg><div id=progress> </div></div>";
f += "</div></div>";
HttpContext.Current.Response.Write(f);
HttpContext.Current.Response.Flush();
}
#endregion
展开全部
楼上正解,没必要搞真进度条吧.搞了这么久开发,现在我也没见过几个真进度条.
先搞个图片,用VS2008的AJAX扩展功能,一下子搞定,只要几秒钟的事,实在没必要这么麻烦,效果都是差不多的.
先搞个图片,用VS2008的AJAX扩展功能,一下子搞定,只要几秒钟的事,实在没必要这么麻烦,效果都是差不多的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-05
展开全部
很多都是做假的进度条,这你应该知道
真的话,对服务器压力很大,就如你所说的,获得上传要么是通过设定上传流量,要么获得已上传文件大小来判定还有多少未上传
真的话,对服务器压力很大,就如你所说的,获得上传要么是通过设定上传流量,要么获得已上传文件大小来判定还有多少未上传
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询