Загрузка картинки из html в ASP.NET core

Не получается отправить файл из HTML в ASP.NET Core

Код на стороне HTML

<!DOCTYPE html>
<html>
<body>

<form action="/file-upload" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="fileToUpload" id="fileToUpload">
  <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

Код на стороне бэкенда

 [Route("file-upload")]
 [ApiController]
 public class TodoItemsController : ControllerBase
    {
        [HttpPost]
        public void OnPostUpload(List<IFormFile> uploadedFile)
        {
            Console.WriteLine("POST дошел до бэка!");
            Console.WriteLine(uploadedFile.Count);
        }
    }

И вот я запускаю билд, он загружается, выводит консоль, и открывается HTML страничка с кнопкой выбора файла(нажимаем, выбираем файл) и с кнопкой Upload Image(Нажимаем кнопку)

И в консоли видим следующее

POST дошел до бэка!

0

Что означает что метод мы вызвали, но в аргументах пришел пустой лист. Почему? Что я делаю не так?


Ответы (1 шт):

Автор решения: lip L

Попробуйте поместить эту конструкцию внутрь метода контроллера:

Console.WriteLine(Request.Form.Files.Count);
→ Ссылка