如题,我要实现一个下载文件的功能,具体的功能,我已实现,但是想和jquery progressbar插件结合起来,显示效果。不知道如何实现。
以下是功能代码
public void DownloadFile()
{
System.IO.FileStream fs;
if (System.IO.File.Exists(StrFileName))
{
fs = System.IO.File.OpenWrite(StrFileName);
lStartPos = fs.Length;
fs.Seek(lStartPos, System.IO.SeekOrigin.Current);
//移动文件流中的当前指针
}
else
{
fs = new System.IO.FileStream(StrFileName, System.IO.FileMode.Create);
lStartPos = 0;
}
//打开网络连接
try
{
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);
long length = request.GetResponse().ContentLength;
lDownloadFile = length;
if (lStartPos > 0)
request.AddRange((int)lStartPos); //设置Range值
//向服务器请求,获得服务器回应数据流
System.IO.Stream ns = request.GetResponse().GetResponseStream();
byte[] nbytes = new byte[512];
int nReadSize = 0;
nReadSize = ns.Read(nbytes, 0, 512);
while (nReadSize > 0)
{
fs.Write(nbytes, 0, nReadSize);
nReadSize = ns.Read(nbytes, 0, 512);
lCurrentPos = fs.Length;
Response.Write(当前下载字节:" + lCurrentPos);
}
fs.Close();
ns.Close();
Response.Write("下载完成");
}
catch (Exception ex)
{
fs.Close();
Response.Write("下载过程中出现错误:" + ex.ToString());
}
}
其中,我在while循环中想输出当前下载的字节数,但是不会每循环一次,就输出一次,而是全部循环完毕一起输出,请问这是什么原因,另外就是我上述所说,如何和Jquery插件结合起来显示效果,要是有会的大哥,麻烦加我一下 QQ:304450480
------解决方案--------------------------------------------------------
你可以参考
http://blog.csdn.net/net_lover/article/details/4546586
希望对你有所启发