2017-04-19 57 views
1

不确定我在这里做错了什么。ASP.NET Web API - 使用HttpClient发布Base64字符串时获取404

尝试后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代替也试过。 问题依然存在。

+0

大概你期待'PostAsJsonAsnc'能够将图像序列化到64位。那肯定会发生吗?如果您将图像对象手动编码为64位,然后尝试发布它,会发生什么? – richzilla

+1

@richzilla我已经自己编码了。 – omm118

+0

仔细检查,是的,你是... – richzilla

回答

0

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

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

你可以找到更多关于这个here

相关问题