文件下载----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 @   木子博客  阅读(524)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示