Я создаю регистрационную форму для пользователя, используя viewmodel. Помимо ввода таких данных, как имя пользователя, адрес электронной почты и пароль, пользователь также должен загрузить изображение.
Когда пользователь заканчивает ввод данных, и модель представления отправляется методу действия, происходит что-то интересное.
Файл пуст, но все остальные данные верны.
Это модель представления:
public class RegisterAsBusiness
{
public string UserName { get; set; }
public IFormFile FormFile { get; set; }
public string Email { get; set; }
}
Это Html часть:
@model AfsluttendeProject.Models.ViewModels.RegisterAsBusiness
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="RegisterAsBusiness">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="UserName" class="control-label"></label>
<input asp-for="UserName" class="form-control" />
<span asp-validation-for="UserName" class="text-danger"></span>
</div>
<div class="form-group">
<dl>
<dt>
<label asp-for="FormFile"></label>
</dt>
<dd>
<input asp-for="FormFile" type="file">
</dd>
</dl>
</div>
<div class="form-group">
<label asp-for="Email" class="control-label"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
</div>
</div>
И методы в контроллере:
public IActionResult RegisterAsBusiness()
{
return View(new RegisterAsBusiness());
}
[HttpPost]
public async Task<IActionResult> RegisterAsBusiness(RegisterAsBusiness registration)
{
return RedirectToAction("Login");
}