. net ядро ​​не может принимать несколько IFormFile в API - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть этот код для получения списка файлов, но мой API не получает файлы, и я получаю счет 0

[HttpPost("TrainPersonGroup")]
        public async Task<IActionResult> TrainPersonGroup(List<IFormFile> files, string personGroupName)
        {
            try
            {
                // create person group Id
                string personGroupId = Guid.NewGuid().ToString();
                sourcePersonGroup = personGroupId;
                await faceClient.PersonGroup.CreateAsync(personGroupId, personGroupId, recognitionModel: RECOGNITION_MODEL2);
                List<PersistedFace> faces = new List<PersistedFace>();
                // Limit TPS
                await Task.Delay(250);
                Person person = await faceClient.PersonGroupPerson.CreateAsync(personGroupId, personGroupId, personGroupName);

                foreach (var personGroup in files)
                {
                    // limit TPS
                    //await Task.Delay(250);

                    using (Stream imageFileStream = personGroup.OpenReadStream())
                    {
                        PersistedFace face = await faceClient.PersonGroupPerson.AddFaceFromStreamAsync(personGroupId, person.PersonId, imageFileStream);
                        faces.Add(face);
                    }

                    // (personGroupId, person.PersonId, $"{url}{similarImage}", similarImage);
                }
                //await faceClient.PersonGroup.CreateAsync()
                return Ok(faces);
            }
            catch(Exception ex)
            {
                return StatusCode(500, ex);
            }
        }

Но когда я вызываю API с несколькими файлами, Я ничего не получаю. Может ли кто-нибудь помочь мне понять, почему?

Если я изменю его из списка в один файл, он будет работать. Поэтому я не знаю, что мне нужно сделать, чтобы заставить его работать со списком файлов.

1 Ответ

0 голосов
/ 26 февраля 2020

Я использовал Swagger для загрузки файлов, и кажется, что Swagger делает это неправильно. Когда я использовал почтальон и таким образом добавил файлы, API работал как положено

...