首页 > 技术文章 > C#实现文件上传以及文件下载

stubborn-donkey 2017-08-29 09:22 原文

 public ActionResult Upload()
        {
            // var pathUrl = "http://" + Request.Url.Authority;
            var file = Request.Files["Filedata"];

            var uploadFileName = file.FileName;

            string filePath = "/File/" + uploadFileName;
            string AbsolutePath = Server.MapPath(filePath);
            file.SaveAs(AbsolutePath);              //将上传的东西保存          
            return Json(new { FileName = uploadFileName, FilePath = filePath });

        }
  public ActionResult DownLoad(string FileName)
        {
            string fileName = FileName;//客户端保存的文件名 
            string filePath = Server.MapPath("/File/"+ FileName);//路径       
                                                                 //以字符流的形式下载文件      
            FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[(int)fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();
            Response.ContentType = "application/octet-stream";

            //通知浏览器下载文件而不是打开   
            Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
            return Json("");
        }

 

推荐阅读