您好,登錄后才能下訂單哦!
本篇內容介紹了“如何用.net web core實現文件上傳功能”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在進行Web前后端分析開始時,我們經常會碰到文件上傳的需求。上傳用戶頭像,上傳認證材料、審核材料等,這些都可以歸類為文件上傳功能。
今天主要把自己在開發過程中的心得進行一個整理,供大家學習。
默認情況下,靜態文件(如 HTML、CSS、圖像和 JavaScript)是 ASP.NET Core 應用直接提供給客戶端的資產。
開啟靜態文件訪問,即可以通過瀏覽器地址輸入http://127.0.0.1:8080/images/1.png訪問圖片或其他文件的方式。需要在中間件中進行配置。
StartUp.cs中Configure方法增加一行代碼。即添加默認的靜態文件中間件。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseStaticFiles(); }
詳情參考官方文檔:
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1
前后臺分離項目,所以創建WebApi項目。新建一個控制器,文件名FileController,開始進行一個簡單的文件上傳編碼。
public class FileController : ControllerBase { private static IWebHostEnvironment _webHostingEnvironment; public FileController(IWebHostEnvironment hostingEnvironment) { _webHostingEnvironment = hostingEnvironment; } public IActionResult UploadFile(IFormFile formFile) { //var formFile = Request.Form.Files[0];//獲取請求發送過來的文件 var webRootPath = _webHostingEnvironment.WebRootPath;//應用程序根目錄 string dirPath = webRootPath + "/UploadFile/" + DateTime.Now.ToString("yyyyMMdd"); //判斷保存的文件夾是否存在,不存在創建 if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } if (formFile == null) { //保存的文件名稱可能存在重復,所以需要在后臺對文件進行重命名 string fileExtesion = Path.GetExtension(formFile.FileName); string fileName = Path.GetFileName(formFile.FileName) + "_" + Guid.NewGuid().ToString() + "." + fileExtesion; //保存文件 using (var fs = System.IO.File.Create(webRootPath + "/" + fileName)) { formFile.CopyTo(fs); } return new JsonResult(new { success = true, errMsg = "文件上傳成功" }); } else { return new JsonResult(new { success = false, errMsg = "未檢測到上傳的文件" }); } } }
“如何用.net web core實現文件上傳功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。