C# 文件上傳及下載


一、文件上傳

首先創建一個簡單的上傳頁面,如圖:

然后,在后台編寫文件上傳方法:

 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         }

通過上述代碼,即可完成文件頁面下載.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM