1 [HttpPost] //上传文件是 post 方式,这里加不加都可以 2 public async Task<IActionResult> UploadFiles(List<IFormFile> files) 3 { 4 5 var filepath = Directory.GetCurrentDirectory() + "\file"; //存储文件的路径 6 7 8 foreach (var item in files) //上传选定的文件列表 9 { 10 if (item.Length > 0) //文件大小 0 才上传 11 { 12 var thispath = filepath + "\" + item.FileName; //当前上传文件应存放的位置 13 14 if (System.IO.File.Exists(thispath) == true) //如果文件已经存在,跳过此文件的上传 15 { 16 continue; 17 } 18 19 //上传文件 20 using (var stream = new FileStream(thispath, FileMode.Create)) //创建特定名称的文件流 21 { 22 try 23 { 24 await item.CopyToAsync(stream); //上传文件 25 } 26 catch (Exception) 27 { 28 } 29 30 } 31 } 32 } 33 return View(); 34 }
上面的是控制器,下面的是页面
1 @{ 2 ViewData["Title"] = "Upload"; 3 } 4 5 <form method="post" enctype="multipart/form-data" asp-controller="Home" asp-action="UploadFiles"> 6 <div class="form-group"> 7 <div class="col-md-12"> 8 <p>选择要上传的文件</p> 9 <input type="file" name="files" multiple /> 10 </div> 11 </div> 12 <div class="form-group"> 13 <div class="col-md-12"> 14 <input type="submit" value="上传" /> 15 </div> 16 </div> 17 </form>
就这些