asp.net 如何实现将服务器上的文件下载到本地?

asp.net 如何实现将服务器上的文件下载到本地?,第1张

给你提供一点代码:

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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/219795.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存