Как отправить данные multipart/form в веб-API ASP.NET Core?C#

Место общения программистов C#
Ответить
Anonymous
 Как отправить данные multipart/form в веб-API ASP.NET Core?

Сообщение Anonymous »

Я пытаюсь отправить изображение и текстовые поля в конечную точку API, но меня принимают

Неподдерживаемый тип контента 'multipart/form-data ;
boundary=---------------------------81801171514357

Это веб-API ASP.NET Core 2.1. У меня есть это:

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

[HttpPost("/api/account"), Authorize]
public void SaveUser(UserModel info)
И моя модель:

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

    [JsonProperty(PropertyName = "avatar")]
[DataType(DataType.Upload)]
public IFormFile Avatar { get; set; }

[JsonProperty(PropertyName = "name")]
[DataType(DataType.Text)]
public string Name { get; set; }
Тогда я использую аксиомы:

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

    var formData = new FormData();
formData.append("avatar", imageFile);
formData.append("name", name);
axios.post("/api/account", formData);
Я ожидал, что этот метод запустится, а не выдаст исключение. Но как? Я попытался добавить:

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

[Consumes("application/json", "multipart/form-data")]
Но безуспешно.
Тогда я попробовал:

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

[HttpPost("/api/account"), Authorize]
public void SaveUser([FromForm]UserModel info)
Метод выполняется, но свойства информационного объекта пусты:(
ОБНОВЛЕНИЕ:
Решение , не используйте JsonProperty PropertyName. Используйте имя переменной.

Подробнее здесь: https://stackoverflow.com/questions/544 ... re-web-api
Ответить

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

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

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

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

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