집 >백엔드 개발 >C#.Net 튜토리얼 >asp.net에서 파일 업로드를 완료하는 코드 튜토리얼
이 기사에서는 관심 있는 친구들이 참고할 수 있는 파일 업로드 예제의 asp.net 핵심 mvc 구현을 주로 소개합니다.
작업에는 파일 업로드 기능이 사용됩니다~~
컨트롤러:
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 작업의 z 매개변수는 404 오류를 발생시키는 post 작업이 하나만 있기 때문에 쓸모가 없으므로 다른 get 작업을 추가했습니다
컨트롤러:
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>
【관련 추천】
특별 추천: "php 프로그래머 툴박스" V0.1 버전 권장
위 내용은 asp.net에서 파일 업로드를 완료하는 코드 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!