asp.net core|asp.net core mvc如何实现文件上传的教程

更新时间:2020-12-19    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

工作用到文件上传的功能,在这个分享下 ~~

Controller:   

 代码如下 publicclassPictureController : Controller   {     privateIHostingEnvironment hostingEnv;       publicPictureController(IHostingEnvironment env)     {       this.hostingEnv = env;     }     // GET: //     publicIActionResult Index()     {       returnView();     }     publicIActionResult UploadFiles()     {       returnView();     }     [HttpPost]     publicIActionResult UploadFiles(IList files)     {       longsize = 0;       foreach(var fileinfiles)       {         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!";        returnView();     }     }  

view:

   代码如下                      

文件是上传到wwwroot目录文件下的,这我也看不太懂还在学习,欢迎大家交流~~

----------------------------------------------------------------------------------------------------------

下面是jquery ajax方式上传的

post方式的action的z参数没用 因为只有一个post方式的会404错误所以又加了一个get的action

Controller:

   代码如下 public IActionResult UploadFilesAjax() {   returnView(); } [HttpPost] public IActionResult UploadFilesAjax(string z) {   long size = 0;   varfiles = Request.Form.Files;   foreach (varfileinfiles)   {     varfilename = 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!";     returnJson(message); }  

view

   代码如下                  

jquery

   代码如下 <script type="text/javascript">     $(document).ready(function() {       $("#upload").click(function(evt) {         varfileUpload = $("#files").get(0);         varfiles = fileUpload.files;         vardata =newFormData();         for(vari = 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>  

本文来源:http://www.bbyears.com/jiaocheng/117450.html