我对这2个httpcontents有疑问。
我制作了一个webapi(php),从中复制:http://www.9lessons.info/2012/05/create-restful-services-api-in-php.html 我重新使用了Rest.inc.php,并实现了我自己的api文件。
我尝试从.Net(我是.Net开发人员)调用此api - 一个简单的WinForm应用程序 - FormUrlEncodedContent可以工作,但StringContent没有。 这是我的代码:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("username", username);
parameters.Add("title", title);
parameters.Add("text", text);
var jsonString = JsonConvert.SerializeObject(parameters);
var content = new StringContent(jsonString, Encoding.UTF8, "text/json");
//var content = new FormUrlEncodedContent(parameters);
PostData(url, content);
我之所以要使用StringContent:在实际数据中,有时参数会包含一个byte [](照片),而FormUrlEncodedContent无法处理它
请帮帮我 非常感谢!
答案 0 :(得分:0)
它们的格式非常不同。如果api没有像Asp.Net Web API那样的智能模型绑定器,那么它将无法工作。您始终可以对字节数组进行base64编码,这是通过HTTP传输字节的典型方式。