asp.net core 파일 업로드 기능 구현
단일 파일 업로드
파일 을 업로드 하 는 것 은 웹 프로그램 에서 흔히 볼 수 있 는 기능 이다.asp.net core 에 파일 을 업로드 하고 서버 에 저장 하 는 것 은 쉬 운 일이 다.ASP.NET Core 프로젝트 에서 파일 업로드 방법 을 보 여 드 리 겠 습 니 다.
우선,asp.net core 프로젝트 를 만 든 다음,Controller 파일 에 HomeController 를 추가 한 다음,Views 폴 더 의 홈 폴 더 에 New.cshtml 보기 파일 을 추가 합 니 다.다음 그림:
모델 폴 더 에 UserView Model.cs 를 추가 합 니 다.코드 는 다음 과 같 습 니 다.
public class UserViewModel
{
[Required]
[Display(Name = " ")]
public string Name { get; set; }
[Required]
[Display(Name = " ")]
[RegularExpression(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$", ErrorMessage = " ")]
public string IdNum { get; set; }
public string IdCardImgName { get; set; }
[Required]
[Display(Name = " ")]
[FileExtensions(Extensions = ".jpg,.png", ErrorMessage = " ")]
public IFormFile IdCardImg { get; set; }
}
그리고 보기 폴 더 에 New.cshtml 보기 파일 을 추가 합 니 다:
@model UserViewModel
<form asp-controller="Home" role="form" asp-action="New" enctype="multipart/form-data" method="post">
<div class="form-group">
<label asp-for="Name"></label>
<input type="text" class="form-control" asp-for="Name" />
</div>
<div class="form-group">
<label asp-for="IdNum"></label>
<input type="text" class="form-control" asp-for="IdNum" />
</div>
<div class="form-group">
<label asp-for="IdCardImg"></label>
<input type="file" asp-for="IdCardImg" />
<p class="help-block"> 。</p>
</div>
<button type="submit" class="btn btn-default"> </button>
</form>
HomeController 에 페이지 에 대응 하 는 Action 방법 을 추가 합 니 다.
[HttpPost]
public IActionResult New([FromServices]IHostingEnvironment env, [FromServices]AppDbContext dbContext, UserViewModel user) {
var fileName = Path.Combine("upload", DateTime.Now.ToString("MMddHHmmss") + ".jpg");
using (var stream = new FileStream(Path.Combine(env.WebRootPath, fileName), FileMode.CreateNew)) {
user.IdCardImg.CopyTo(stream);
}
var users = dbContext.Set<User>();
var dbUser = new User() {
Name = user.Name,
IdCardNum = user.IdNum,
IdCardImgName = fileName
};
users.Add(dbUser);
dbContext.SaveChanges();
return RedirectToAction(nameof(Index));
}
프로그램 실행,폼 보기: 다 중 파일 업로드
다 중 파일 업로드 와 단일 파일 업로드 가 유사 합 니 다.폼 의 ViewModel 은 ICollection
예제 소스 코드
주:예제 데이터 저장 에 사용 되 는 Sqlite,Code First 방식 으로 데이터 베 이 스 를 생 성 합 니 다.
예제 코드 가 github 에 업로드 되 었 습 니 다: https://github.com/yuleyule66/AspNetCoreFileUpload
본문 주소:http://www.cnblogs.com/savorboard/p/5599563.html
저자 블 로그:Savorboard
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.