ASP.NET Web API - 使用HttpClient发布Base64字符串时获取404

时间:2017-04-19 09:03:50

标签: c# asp.net rest asp.net-web-api web

不确定我在这里做错了什么。

尝试发布Base64编码的字节数组,并获得404。

问题是,当我尝试使用正常值(“测试”)时,它会起作用。

API:

[HttpPost]
public IHttpActionResult Post(dynamic data)
{
  // ...
  return Ok();
}

客户端:

public static bool UploadDocument(string base64Image)
{
  // ...
  using (var handler = new HttpClientHandler() { UseDefaultCredentials = true})
  using (var client = new HttpClient(handler))
  {
    var data = new { Image = base64Image }; // Image = 123 (or any random value) Works.
    var res = client.PostAsJsonAsync(@"(url)", data).Result;
    if(res.IsSuccessStatusCode)
      // ...
  }
}

尝试了其他一些变体,也尝试使用WebRequest。 问题仍然存在。

1 个答案:

答案 0 :(得分:1)

我尝试发送的数据大小大于默认最大值。

我得到的404实际上是404.13,这是“内容长度过大”。

您可以找到有关此here的更多信息。