FormUrlEncodedContent工作,但StringContent不

本文关键字:StringContent 工作 FormUrlEncodedContent | 更新日期: 2023-09-27 18:12:24

我有一个关于这两个httpcontents的问题。

我已经做了一个webapi (php),从这个复制:http://www.9lessons.info/2012/05/create-restful-services-api-in-php.html我重用了Rest.inc.php,并实现了我自己的api文件。

我尝试从。net调用这个api(我是。net开发人员)-一个简单的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的原因:在实际数据中,有时参数将包含一个字节[](照片),而FormUrlEncodedContent无法处理它

请帮帮我谢谢很多!

FormUrlEncodedContent工作,但StringContent不

它们是非常不同的格式。如果api没有像Asp. js这样的智能模型绑定器。Net Web API,那么它将无法工作。你总是可以base64编码你的字节数组,这是通过HTTP传输字节的典型方式。