ASP.net 下载文件处理

来源:互联网 发布:精英男人 知乎 编辑:程序博客网 时间:2024/05/16 05:39

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时候,链接到具体文件下载。