ASP.net 下载文件处理
最近有个项目需要bs的下载文件处理,以前记得做c#时候保存文件时候,直接通过fileopendialog或者是filesave控件来执行,但是bs的好像没有现成的控件进行对下载文件的路径选择控件,再网上找了些相关资料,对于下载大致分为二种方式。
1.直接通过获取客户端文件和路径进行下载,代码如下
try
{
string fileName ="文件名称";
string filePath = Server.MapPath("/");//路径
FileInfo fileInfo = new FileInfo(filePath);
if (fileInfo.Exists)
{
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
else
{
Alert.Show("下载的当前文件不存在,请确认");
}
}
catch
{
Alert.Show("下载失败");
}
2.通过直接调用<a href进行下载如下:
通过创建一个label控件,当单击label控件显示到下载的链接页面
this.Label1.Text = "<a href=/" + 需要文件下载的路径+ " target=_blank>下载</a>";
当单击label时候,链接到具体文件下载。