Я использую модель представления в стандартном проекте .net в моем приложении asv.net 4.72 framework mvc, и у меня есть функция загрузки файлов в приложении. IFormfile всегда равен null в методе контроллера. Ниже приведены моя модель, вид и метод управления.
Модель в ядре .Net
public class CustomerImportForm
{
public CustomerImportForm();
[Required]
public int CohortId { get; set; }
public ImporterType ImporterType { get; set; }
[Required]
public IFormFile ImportFile { get; set; }
}
Просмотреть в Asp.net 4.7
@model CustomerImportForm
<div class="form-group">
@Html.LabelFor(m => m.ImportFile)
<div class="input-group">
<div class="custom-file">
<input type="file" class="custom-file-input"
id="@Html.IdFor(m => m.ImportFile)"
name="@Html.NameFor(m => m.ImportFile)"
accept=".xlsx,.csv"
required/>
<label class="custom-file-label" for="@Html.IdFor(m => m.ImportFile)">Choose file</label>
</div>
</div>
@Html.ValidationMessageFor(m => m.ImportFile, null, new {@class = "text-danger" })
</div>
Метод контроллера:
public async Task<ActionResult> ProcessUploadAndCreateCohorts(CustomerImportForm form)
{
Log.Info("Uploading import '{0}'", form.ImportFile.FileName);
return RedirectToAction("View", new { id = importId });
}
Форма. Импортируемый файл всегда равен нулю.