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)

建议保存成一个逗号分隔文件(*.csv),可以用excel打开,这样数据表中的每个字段显示一列。范例如下:

第一步:数据库查询,保存在记录集中。

Dim sql : sql = "select * from table"

Set rs = conn.Execute(sql)

第二步:设置文件名。

Dim filename : filename = year(now()) &month(now()) &day(now())

filename = filename &".csv"

第三步:文件类型

response.contenttype = "application/octet-stream"

response.addheader "Content-Type","application/octet-stream"

response.addheader "Content-Disposition","attachmentfilename="""&filename &""""

第四步:字段头,表头信息

response.write "字段1,字段2,字段3,...."&vbNewLine

第五步:输出被下载数据

while not Rs.eof

a=rs("字段1")

b=rs("字段2")

c=rs("字段3")

tmpstr= a &"," &b &"," &c

response.write tmpstr

Rs.movenext

wend

Rs.close

set Rs=nothing

conn.close

Set conn = nothing

最后,说明一下,访问这个文件会自动打开下载对话框的。

首先你要把下载链接的地址存储到数据库里,或者你写个实体类,从文件系统的指定文件夹里遍历读取地址也可以。

然后从数据库或者实体类返回的数据中取得地址,绑定在GirdView或者其他DataControl的某一Hyperlink列上。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存