posts - 68, comments - 48, trackbacks - 0, articles - 1
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp.net 下载文件

Posted on 2006-05-15 22:53 liufu627 阅读(...) 评论(...) 编辑 收藏

要用ASP.NET实现邮箱中附件下载的功能,
 搞了好久也没有搞通,网上有很多事例都是一样的:IE支持的文件就会直接打开,而其它的像ZIP之类的文件不识别,就会弹出下载或打开的对话框。
突然一想是不是有什么文件筛选的问题,果然在写文件之前将Filter清除就可以像附件一样使用了。


   string filename = "a.txt";

        if (filename != "")
        {

            string path = Server.MapPath(filename);

            System.IO.FileInfo file = new System.IO.FileInfo(path);

            if (file.Exists)
            {

                Response.Clear();

                Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

                Response.AddHeader("Content-Length", file.Length.ToString());

                Response.ContentType = "application/octet-stream";

                Response.Filter.Close();

                Response.WriteFile(file.FullName);

              
                Response.End();

            }

            else
            {

                Response.Write("This file does not exist.");

            }

        }