这是以前写论坛的下载时用的代码
public void ProcessRequest(HttpContext context)
        {
            string name = "d:\\abc.txt";
            //System.IO.FileInfo aFile = new System.IO.FileInfo(name);
            //string na = Path.GetFileName(name); 
            //context.Response.Clear();
            //context.Response.ClearHeaders();
            //context.Response.BufferOutput = false;   
           // context.Response.ContentType = "application/octet-stream";
            context.Response.AppendHeader("Content-disposition", "attachment;filename=abc.txt");
           // context.Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(na, System.Text.Encoding.UTF8)); 
           // context.Response.AddHeader("Content-Length",aFile.Length.ToString());
            context.Response.WriteFile(name);
            //context.Response.Flush();
            //context.Response.End();
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
 private void OutPutFile(string filePath)
        {
            FileStream fs = File.OpenRead(Server.MapPath(filePath));
            BinaryReader br = new BinaryReader(fs);
            Byte[] fileData = new byte[fs.Length];
            br.Read(fileData, 0, fileData.Length);
            Response.Clear();
            Response.ClearHeaders();
            Response.BufferOutput = false;  
            Response.ContentType = "application/force-download";
            Response.AddHeader("Content-Disposition:", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileName(filePath),System.Text.Encoding.UTF8));
            Response.AddHeader("Content-Length", fileData.Length.ToString());
            Response.BinaryWrite(fileData);
            Response.Flush();
            br.Close();
            fs.Close();
            Response.End();
        }
 
共同学习,写下你的评论
评论加载中...
作者其他优质文章
 
                 
            
 
			 
					 
					