Параметр FormData всегда имеет значение null в конечной точке при передаче коллекции IFormFile.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Параметр FormData всегда имеет значение null в конечной точке при передаче коллекции IFormFile.

Сообщение Anonymous »

Следующая конечная точка CreateImages находится в моем веб-API C# .NET. Тестирование с использованием пользовательского интерфейса Postman и Swagger: когда я загружаю файлы и отправляю запрос, параметр files ниже всегда имеет значение null. У меня не возникает этой проблемы, если я обновляю параметр до одного IFormFile, это происходит только тогда, когда я пытаюсь передать список.

Код: Выделить всё

public class Images : EndpointGroupBase
{
public override void Map(WebApplication app)
{
app.MapGroup(this)
.DisableAntiforgery()
.RequireAuthorization()
.MapPost(CreateImages);
}

public async Task CreateImages(ISender sender, [FromForm] IList files)
{
return Results.Ok(await sender.Send(new CreateImagesCommand(files)));
}
}
У меня возникла та же проблема со следующими типами: IList, List, ICollection, IEnumerable. Если я передам массив (

Код: Выделить всё

IFormFile[]
), даже с тегом [FromForm], он не будет зарегистрирован как multipart/form-data, но ожидает список строк. Я предполагаю, что это в любом случае не рекомендуется. Кроме того, как уже упоминалось, если я обновлю эту конечную точку, чтобы вместо нее принимать один IFormFile, все будет работать как ожидалось - значение не равно нулю, и отладчик сможет продолжить работу с элементом ожидаемого типа IFormFile.

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-of-iform
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»