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을 사용 한 다음 폼 의에 mulpile 을 추가 하면 됩 니 다(H5 만 지원). 
예제 소스 코드
 주:예제 데이터 저장 에 사용 되 는 Sqlite,Code First 방식 으로 데이터 베 이 스 를 생 성 합 니 다.
 예제 코드 가 github 에 업로드 되 었 습 니 다:  https://github.com/yuleyule66/AspNetCoreFileUpload
본문 주소:http://www.cnblogs.com/savorboard/p/5599563.html
 저자 블 로그:Savorboard
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기