asp.net 实现文件上传和下载

FileInfo Fi = new FileInfo(filePath);  if (Fi.Exists)
  {
  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=1.excel");
  Response.BinaryWrite(bytes);
  Response.Flush();
  Response.End();
  }
  string path = Server.MapPath("~/") + "";
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(obj.Name, System.Text.Encoding.GetEncoding("utf-8")));
  Response.ContentType = "application/octet-stream";
  Response.WriteFile("" + path + "");
  Response.End();
  if (fileUpload.HasFile)
  {
  string savePath = Server.MapPath("~/upload/");
  if(!System.IO.Directory.Exists(savePath))
  {
  System.IO.Directory.CreateDirectory(savePath);
  }
  savePath = savePath + "\\" + fileUpload.FileName;
  fileUpload.SaveAs(savePath);
  }