То, что отправлено $.post("http://localhost:50575/api/images", {base64Data: base64})
:
POST /api/images HTTP/1.1
Content-Type: application/x-www-form-urlencoded
base64Data=xxxxxxxx
Поскольку вы отправляете запрос с типом содержимого application/x-www-form-urlencoded
, и запрос обрабатывается ApiController
, вы должны украсить параметр с помощью [FromForm]
public async Task<ActionResult> Post([FromForm] string base64Data)
{
// ...
}
Или, если вы хотите отправить запрос, закодированный с помощью application/json
, вы должны сначаласоздайте DTO
для хранения всей игровой нагрузки:
public class Base64Dto{
public string Base64Data{get;set;}
}
и одновременно украсьте параметр [FromBody]
:
public async Task<ActionResult> Post([FromBody] Base64Dto base64Data)
{
// var base64 = Request.Form["base64Data"];
return Ok();
}
Другой способ сохранить всю полезную нагрузкус Base64Dto
, для отправки запроса с заголовком Content-Type: application/x-www-form-urlencoded
и одновременного использования атрибута [FromForm]
:
public async Task<ActionResult> Post([FromForm] Base64Dto base64Data)
{
// var base64 = Request.Form["base64Data"];
return Ok();
}