.NET Core2.2에서 IFormFile을 모델과 함께 나열하면 Post가 끝나지 않습니다.
처음에
이미지 업로드에서 같은 모델의 항목을 일괄로 복수 Post하려고 했을 때 Post 처리가 끝나지 않는 것이 있었기 때문에 원인을 조사했습니다.
환경
증상
submit에서 Post를 실행하면 Post가 완료되지 않고 처리가 끝나지 않습니다.
또한 메모리 사용량이 점점 올라간다.
원인
· 모델과 함께 IFormFile을 나열하면 발생합니다.
(View내에 IFormFile용의 태그를 기재하지 않아도, 코드가 그렇게 되고 있는 것만으로 증상이 나옵니다.)
↓↓ .NET Core2.2의 버그인 것 같습니다. (GitHub의 issue에 실렸습니다)
IFormFile bind error when using in sub collection
대응
· .NET Core 버전을 2.1.7로 되돌리거나 3.0으로 올린다.
· 모델과 함께하지 않고, IFormFile만으로 List로 한다(IFormFileCollection 사용해도 좋다)
재현 방법
1. .NET Core2.2를 사용한다.
2. 적당히 모델 작성
Movie.cs
public class Movie
{
[Display(Name = "タイトル")]
public string Title { get; set; }
[Display(Name = "詳細")]
public string Detail { get; set; }
[Display(Name = "画像")]
public string Img { get; set; }
}
3. 상기의 모델과 「IFormFile 」의 프로퍼티를 포함한 모델을 작성
Movie.cs
public class MovieWithPost
{
public Movie Movie{ get; set; }
// ↓ファイル受信用のプロパティを追加
public IFormFile FormFile { get; set; }
}
4. 상기에서 작성한 모델을 리스트로 한다
Movie.cs
public class MoviesViewModel
{
public List<MovieWithPost> MovieList { get; set; }
}
5.view에서 submit에서 post를 실시한다(코드는 할애)
6. Post가 완료되지 않는다
일본어 기사가 더 늘어나면 기쁩니다.
Reference
이 문제에 관하여(.NET Core2.2에서 IFormFile을 모델과 함께 나열하면 Post가 끝나지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koro1129/items/e5c1d1f5b403b7d0c26c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)