文件下载----c#

/*
取得文件路径
*/
public string GetConfigInfo(string strElement, string strName)
    {
        XmlDocument xmlConfig = new XmlDocument();
        string file = Server.MapPath("./") + "Config.config";
        string strValue = "";
        try
        {
            if (System.IO.File.Exists(file))
            {
                xmlConfig.Load(file);
                strValue = xmlConfig["AppConfig"][strElement].GetAttribute(strName);
            }
        }
        catch
        {
        }
        return strValue;
    }

/*
页面按钮单击事件
*/   
protected void btnDownLoad_Click(object sender, EventArgs e)
    {
        try
        {
            //方法开始log出力
            fxLog.StartMethodLog("XinXiXiaZai.aspx.cs", "btnDownLoad_Click");
            //取得路径
            string fPath = GetConfigInfo("Path", "path");
           
            //取得文件名

            string fileName = strFileName;

            string filePath = fPath + fileName;
            if (filePath != null && filePath != "")
            {
                if (filePath != "")
                {
                    System.IO.FileInfo file = new System.IO.FileInfo(filePath);

                    if (file.Exists)
                    {
                        Response.Clear();
                        Response.Buffer = false;
                        Response.ContentType = "application/x-msdownload";
                        Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
                        Response.AddHeader("Content-Length", file.Length.ToString());
                        Response.Filter.Close();
                        Response.WriteFile(file.FullName);
                        Response.End();
                    }
                    else
                    {
                        Response.Redirect("NotFound.htm");
                    }
                }
            }

            //方法结束log出力
            fxLog.EndMethodLog("XinXiXiaZai.aspx.cs", "btnDownLoad_Click");
        }
        catch (Exception ex)
        {
            //错误 LOG 处理
            logVo.LogLevel = SysLog.LogLevel.ERROR;
            logVo.ex = ex;
            logVo.LogMsg = "";
            fxLog.LogWrite(logVo);
            throw new UIException(ex);
        }

    }

你可能感兴趣的:(文件下载)