ASP. net ядро по умолчанию поддерживает только json полезные нагрузки в POST.
Поскольку вы пытаетесь отправить простой текст, вам нужно будет вручную получить полезная нагрузка из запроса. Привязка не поддерживается из коробки.
Это решение для получения опубликованных файлов, содержащих простой текст.
Например. curl -F data=@test.txt -X POST http://localhost:80/test
Начните с удаления параметра string data
.
Добавьте этот метод в свой контроллер:
private string GetPostedFile(string fileName)
{
IFormFile data = Request.Form.Files[fileName];
var bytes = new byte[data.Length];
var result = data.OpenReadStream().ReadAsync(bytes).Result;
return System.Text.Encoding.Default.GetString(bytes);
}
Теперь вы можете получить данные, сославшись на GetPostedFile в обработчике POST, например:
[HttpPost]
public object Post()
{
string data = GetPostedFile("data");
return Ok();
}
Это получит значение вашего опубликованного файла, которое в команде curl называется «данными».