一、文件上傳
首先創建一個簡單的上傳頁面,如圖:
然后,在后台編寫文件上傳方法:
1 /// <summary> 2 /// 上傳文件 3 /// </summary> 4 /// <returns></returns> 5 public void FileUp() 6 { 7 //獲取上傳文件 8 var file = Request.Files["fileName"]; 9 //根據上傳文件名獲取完整名稱 10 var uploadfileName = file.FileName; 11 //設置文件保存到文件夾的路徑 ("File"是這里保存文件夾) 12 string filePath = "/File/" + uploadfileName; 13 //獲取文件的物理路徑 14 string AbsolutePath = Server.MapPath(filePath); 15 //保存上傳文件 16 file.SaveAs(AbsolutePath); 17 Response.Write("<script>alert('圖片上傳成 功');location.href='/Default/Index';</script>"); 18 }
上傳文件后,顯示:
上傳成功后,會彈出提示框,跳回上傳頁面.
二、文件下載
主頁面形式可以多變,就不在演示,主要說下后端代碼:
1 /// <summary> 2 /// 文件下載 3 /// </summary> 4 /// <param name="FileName">文件名稱</param> 5 /// <returns></returns> 6 public ActionResult DownLoad(string FileName) 7 { 8 string fileName = FileName;//客戶端保存的文件名 9 string filePath = Server.MapPath("/File/" + FileName);//路徑 10 11 FileStream fs = new FileStream(filePath, FileMode.Open);//以字符流的形式下載文件 12 byte[] bytes = new byte[(int)fs.Length]; 13 fs.Read(bytes, 0, bytes.Length); 14 fs.Close(); 15 Response.ContentType = "application/octet-stream"; 16 17 //通知瀏覽器下載文件而不是打開 18 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); 19 Response.BinaryWrite(bytes); 20 Response.Flush(); 21 Response.End(); 22 return Json(""); 23 }
通過上述代碼,即可完成文件頁面下載.