Публикация файла в asp.net core 2.2 приводит к неподдерживаемому типу http / 415 - PullRequest
0 голосов
/ 08 июня 2019

От почтальона. Я пытаюсь отправить файл на api-контроллер ядра 2.2 asp.net.

POST /api/epd/noshow/uploadfile HTTP/1.1
Host: localhost:44361
User-Agent: PostmanRuntime/7.11.0
Accept: */*
Cache-Control: no-cache
Postman-Token: 3d633228-2554-442b-84f4-4e8214972886,a8f994f4-973e-411f-b96b-778af2c082b4
Host: localhost:44361
accept-encoding: gzip, deflate
content-type: multipart/form-data; boundary=--------------------------201375848683546790642901
content-length: 237
Connection: keep-alive
cache-control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW


Content-Disposition: form-data; name="file"; filename="C:\temp\caldr.json


------WebKitFormBoundary7MA4YWxkTrZu0gW--

Метод api-контроллера

[HttpPost]
[AllowAnonymous]
public IActionResult UploadFile([FromForm]IFormFile file)
{
    return Ok();
}

У меня естьуже пробовал FromForm, FromBody, ничего.Установка типа контента в почтальоне, а не установка типа контента в почтальоне, всегда возвращает ту же ошибку.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 08 июня 2019

Это проще, чем ожидалось :) Вам необходимо отправить тело запроса в форме данных.Здесь в этом примере показан только простой вызов файла с помощью ASp.NET Core 2.2 - WebAapi

Почтальон:

enter image description here

API:

enter image description here

0 голосов
/ 13 июня 2019

Нашел проблему и решение. Просто для справки, если кто-то еще сталкивается с той же непостижимой проблемой.

В классе контроллера «бабушка» есть следующий атрибут:

[Consumes("application/json")]

данные формы, конечно, не были приняты: -)

переопределить это поведение по умолчанию, добавив следующий атрибут к действию

[Consumes("multipart/form-data")]
...