Asp.net 下载文件(弹出对话框的形式)

下载文件的核心代码:

        private void DownLoadDataFile()
        {
            try
            {
                string filePath = @"C:\lala.csv";   //the target file path
                FileInfo downloadFile = new FileInfo(filePath);
                if (downloadFile.Exists)
                {
                    Response.Clear();
                    Response.ClearHeaders();
                    Response.Buffer = false;
                    Response.ContentType = "application/octet-stream";
                    Response.AppendHeader("Content-Disposition", "attachement;filename=" + HttpUtility.UrlEncode(downloadFile.FullName, System.Text.Encoding.ASCII));
                    Response.AppendHeader("Content-Length", downloadFile.Length.ToString());
                    Response.WriteFile(downloadFile.FullName);
                    Response.Flush();
                    Response.End();
                }
                else
                { }
            }
            catch (Exception ex)
            { }
        }

也可以简单的参考这些文章:

http://www.cnblogs.com/futao/archive/2009/12/29/1635236.html

http://www.cnblogs.com/weixing/archive/2012/02/27/2369567.html

 

然而对于SharePoint 中的WebPart 中的上下文环境中没有 Response 这个对象,但是可以用 HttpContext.Current.Response 对象进行代替 详情请看 http://social.technet.microsoft.com/Forums/zh-CN/mosses/thread/3d5f36bb-5c89-49c6-a15d-e30225d50d5e

实例代码如下所示:

        private void DownLoadDataFile()
        {
            try
            {
                string filePath = @"C:\lala.csv";   //the target file path
                FileInfo downloadFile = new FileInfo(filePath);
                if (downloadFile.Exists)
                {
                    HttpContext.Current.Response.Clear();
                    HttpContext.Current.Response.ClearHeaders();
                    HttpContext.Current.Response.Buffer = false;
                    HttpContext.Current.Response.ContentType = "application/octet-stream";
                    HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachement;filename=" + HttpUtility.UrlEncode(downloadFile.FullName, System.Text.Encoding.ASCII));
                    HttpContext.Current.Response.AppendHeader("Content-Length", downloadFile.Length.ToString());
                    HttpContext.Current.Response.WriteFile(downloadFile.FullName);
                    HttpContext.Current.Response.Flush();
                    HttpContext.Current.Response.End();
                }
                else
                { }
            }
            catch (Exception ex)
            { }
        }

 

 。。。。。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值