给你提供一点代码:
string fileURL = this.Server.MapPath("你要下载的文件路径")//文件路径,可用相对路径
FileInfo fileInfo = new FileInfo(fileURL)
Response.Clear()
Response.AddHeader("content-disposition", "attachmentfilename=" +
Server.UrlEncode(fileInfo.Name.ToString()))//文件名
Response.AddHeader("content-length", fileInfo.Length.ToString())//文件大小
Response.ContentType = "application/octet-stream"
Response.ContentEncoding = System.Text.Encoding.Default
Response.WriteFile(fileURL)
使用httprequest请求资源(资源通过url访问),然后从httpresponse中读取byte[](字节数组),比如每次限量读取10*1024 b,当然,不一定每次肯定能读到这么多的数据,但是read是有返回值的,这个返回值正好是本次读取到的字节数,接下来,将这个读取到的字节数组写入XML文件,同时,你在read之前记录下时间刻度,read之后再次获取一下时间刻度,这样,通过两次时间刻度差就能得出时间间隔。瞬时下载速度则为: (时间差/本次下载字节数=下载速度) 至于单位kb/s 或 MB/S ,你可以自己去换算。
知识点:
注:httprequest,httpresponse,TimeSpan 请参照 http://msdn.microsoft.com/library/
时间刻度TimeSpan tsstart= new TimeSpan(DateTime.Now.Ticks)
TimeSpan tsend = new TimeSpan(DateTime.Now.Ticks)
TimeSpan ts = tsend.Subtract(tsstart).Duration()
花费时间毫秒数 = ts.TotalMilliseconds
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)