1
저는 컨트롤러에서 ajax 호출로 전송 된 파일을 받아 지정된 경로에 저장하는 함수가 있습니다. 나는 이미지 대신에 더 많은 데이터를 보내기를 희망하면서 모델을 가지고 어떻게이 작업을 할 수 있을지 궁금해하고있었습니다.모델과 함께 작동하도록 IFormFile 함수 만들기
뷰 모델 :
public class PhotoViewModel
{
// Other strings
public IFormFile userimage { get; set; }
}
컨트롤러 : (작업) 모델 모델과 버전에
[HttpPost]
public async Task<IActionResult> Post(IFormFile file)
{
var filePath = Path.GetFullPath(@"C:\Users\me\documents\" + file.FileName);
if (file.Length > 0)
{
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
}
return StatusCode(200);
}
시도없이 :
[HttpPost]
public async Task<IActionResult> PhotoData(PhotoViewModel model)
{
var filePath = Path.GetFullPath(@"C:\Users\me\documents\" + model.userimage.FileName);
if (ModelState.IsValid)
{
if (model.userimage.Length > 0)
{
using (var stream = new FileStream(filePath, FileMode.Create))
{
await model.userimage.CopyToAsync(stream);
}
}
}
return StatusCode(200);
}
이 시도는 저를 멀리하지 않습니다. 중단 점을 설정하면 filePath를 설정할 때 실패하는 것을 볼 수 있지만 모델 작업 방법을 모르겠습니다. 어떤 도움을 주셔서 감사합니다.