最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

asp.net core mvc实现文件上传实例

来源:懂视网 责编:小采 时间:2020-11-27 22:36:06
文档

asp.net core mvc实现文件上传实例

asp.net core mvc实现文件上传实例:工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvironment hostingEnv; public PictureController(IHostingEnvironment env)
推荐度:
导读asp.net core mvc实现文件上传实例:工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvironment hostingEnv; public PictureController(IHostingEnvironment env)

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

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参数没用 因为只有一个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>

欢迎大家交流~

文档

asp.net core mvc实现文件上传实例

asp.net core mvc实现文件上传实例:工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvironment hostingEnv; public PictureController(IHostingEnvironment env)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top