Используйте enctype = "multipart/form-data"
внутри формы действий.Вы можете использовать бритву @using (Html.BeginForm())
@using (Html.BeginForm("UploadFile", "YourController", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<button type="submit">Submit</button>
}
Пример представления исходного кода здесь
А внутри вашего контроллера вы можете использовать такой метод контроллера:
public async Task<IActionResult> UploadFile(IFormFile file)
{
var uploadPath = Path.Combine(hostingEnv.WebRootPath, "uploadsfolder");
using (var fileStream = new FileStream(Path.Combine(uploadPath, file.FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
return RedirectToAction("Index");
}
Пример контроллера исходного кода здесь
Это должно работать правильно