Минимальный API: Dictionary Always Null при отправке данных с iformfile через Multipart/Form-DataC#

Место общения программистов C#
Ответить
Anonymous
 Минимальный API: Dictionary Always Null при отправке данных с iformfile через Multipart/Form-Data

Сообщение Anonymous »

Я использую минимальный API ASP.net Core. У меня есть конечная точка, где я хочу получить iformfile вместе с словарем в том же запросе. Я установил согласие ("Multipart/Form-Data") и используйте [fromform] на параметре обработчика. Загрузка файла работает правильно, но свойство TestDictionary всегда является нулевым, даже если я устанавливаю значения в ui Swagger.

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

public class TestDictionaryRequest
{
public Dictionary TestDictionary { get; set; }
public IFormFile TestFile { get; set; }
}

public class TestDictionaryEndpoint : IEndpoint
{
public void MapEndpoint(IEndpointRouteBuilder app)
{
app.MapPost("test/dictionary", Handler)
.DisableAntiforgery()
.WithTags("Test")
.Accepts("multipart/form-data");
}

public static IResult Handler([FromForm] TestDictionaryRequest request)
{
return Results.Ok(new
{
Dictionary = request.TestDictionary,
Count = request.TestDictionary?.Count ?? 0,
IsNull = request.TestDictionary == null
});
}
}
Какие дополнительные шаги или конфигурация необходимы для того, чтобы словарь testdictionary правильно связан (не нулевой) при использовании Multipart/Form-Data с iformfile в минимальном API-точке?

Подробнее здесь: https://stackoverflow.com/questions/797 ... with-iform
Ответить

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

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

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

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

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