C#写网络传输获得进度

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:58:20
C#如何写一个程序获得已经下载了多少字节?
private void DownFile(string filename, string rights)
{

byte[] tmpdownload = ws.GetNewFile(filename);

long referfilesize = ws.ReferFileSize(filename);
string strPath = Application.StartupPath + "\\" + filename;
if (File.Exists(strPath))
{
File.Delete(strPath);
}
FileStream fs = new FileStream(strPath, FileMode.CreateNew);

fs.Write(tmpdownload, 0, tmpdownload.Length);

fs.Close();

}

用过的webService为:
[WebMethod(Description = "返回给定文件的字节数组")]
public byte[] GetNewFile(string requestFileName)
{
///得到服务器端的一个文件
if (requestFileName != null || requestFileName != "")
return getBinaryFi

目前所有类似的程序只能通过计算来获取当前大小的。最好的一中方法时,隔一秒种或者其他频率,实时监测正在下载的文件的大小。

C#是办不到的,要结合js
首先用C#返回文件的总大小,然后下载时,用js判断已下载的字节,再与总字节的比值,再制作个进度条。