文件下载----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);
        }


    }


posted @ 2008-04-16 21:50  木子博客  阅读(522)  评论(0编辑  收藏  举报