IFormfile в модели представления не является обязательным - PullRequest
0 голосов
/ 04 июля 2019

Я использую модель представления в стандартном проекте .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 });
        }

Форма. Импортируемый файл всегда равен нулю.

...