这里有新鲜出炉的精品教程,程序狗速度看过来!
ASP.NET 是. NET FrameWork 的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过 HTTP 请求文档时再在 web 服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是 Windows 开发的 Web 服务器)之中的程序 。
本篇文章主要介绍了 asp.net core mvc 实现文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
工作用到文件上传的功能,在这个分享下 ~~
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>
来源: http://www.phperz.com/article/17/0813/338057.html