asp.net core mvc實現(xiàn)文件上傳實例
工作用到文件上傳的功能,在這個分享下 ~~
Controller:
public class PictureController : Controller { private IHostingEnvironment hostingEnv; public PictureController(IHostingEnvironment env) { this.hostingEnv = env; } // GET: /<controller>/ public IActionResult Index() { return View(); } public IActionResult UploadFiles() { return View(); } [HttpPost] public IActionResult UploadFiles(IList<IFormFile> files) { long size = 0; foreach (var file in files) { var filename = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"'); //這個hostingEnv.WebRootPath就是要存的地址可以改下 filename = hostingEnv.WebRootPath + $@"\{filename}"; size += file.Length; using (FileStream fs = System.IO.File.Create(filename)) { file.CopyTo(fs); fs.Flush(); } } ViewBag.Message = $"{files.Count} file(s) /{ size}bytes uploaded successfully!"; return View(); } }
view:
<form asp-action="UploadFiles" asp-controller="Picture" method="post" enctype="multipart/form-data"> <input type="file" name="files" multiple /> <input type="submit" value="Upload Selected Files" /> </form>
文件是上傳到wwwroot目錄文件下的,這我也看不太懂還在學習,歡迎大家交流~~
----------------------------------------------------------------------------------------------------------
下面是jquery ajax方式上傳的
post方式的action的z參數(shù)沒用 因為只有一個post方式的會404錯誤所以又加了一個get的action
Controller:
public IActionResult UploadFilesAjax() { return View(); } [HttpPost] public IActionResult UploadFilesAjax(string z) { long size = 0; var files = Request.Form.Files; foreach (var file in files) { var filename = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"'); filename = @"C:\Users\lg.HL\Desktop" + $@"\{filename}"; size += file.Length; using (FileStream fs = System.IO.File.Create(filename)) { file.CopyTo(fs); fs.Flush(); } } string message = $"{files.Count} file(s) / { size}bytes uploaded successfully!"; return Json(message); }
view
<form method="post" enctype="multipart/form-data"> <input type="file" id="files" name="files" multiple /> <input type="button" id="upload" value="Upload Selected Files" /> </form>
jquery
<script type="text/javascript"> $(document).ready(function () { $("#upload").click(function (evt) { var fileUpload = $("#files").get(0); var files = fileUpload.files; var data = new FormData(); for (var i = 0; i < files.length ; i++) { data.append(files[i].name, files[i]); } $.ajax({ type: "POST", url: "/Picture/UploadFilesAjax", contentType: false, processData: false, data: data, success: function (message) { alert(message); }, error: function () { alert("There was error uploading files!"); } }); }); }); </script>
歡迎大家交流~ 以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
ASP.NET Core使用HostingStartup增強啟動操作方法詳解
這篇文章主要介紹了ASP.NET Core使用HostingStartup增強啟動操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11強烈推薦一個基于.Net Framework開發(fā)的Windows右鍵菜單管理工具
這篇文章主要介紹了推薦一個基于.Net Framework開發(fā)的Windows右鍵菜單管理工具,今天給大家推薦一個Windows右鍵菜單管理工具,方便我們管理我們的右鍵菜單,需要的朋友可以參考下2023-05-05Asp.Net中的Action和Func委托實現(xiàn)
這篇文章主要介紹了Asp.Net中的Action和Func委托的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12ASP.NET實現(xiàn)讀取Excel內(nèi)容并在Web上顯示
這篇文章主要介紹了ASP.NET實現(xiàn)讀取Excel內(nèi)容并在Web上顯示,很實用的一個技巧,需要的朋友可以參考下2014-08-08Asp.net中處理一個站點不同Web應用共享Session的問題
Asp.net中處理一個站點不同Web應用共享Session的問題...2006-09-09