[英]Making POST request with http client
我正在尝试使用 http 客户端发出 http web 请求,传递Dictionary<string,object>
因为参数具有图像字节数组
但是我无法使用 FormUrlEncodedContent 对内容进行编码,因为它给我
“无法从System.Collections.Generic.Dictionary<string, object>
转换为System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>
”
是否有任何其他推荐的方法来传递不同类型的许多参数(字符串、字节数组)
这是我的代码片段!
var Imagesvalues = new Dictionary<string, object>
{
{ "propertyid", newpropertyID },
{ "image", imageArray },
{ "featured", isFeatured }
};
var finalcontent = new FormUrlEncodedContent(Imagesvalues);
response = await client.PostAsync("http://localhost/modon/addimage", finalcontent);
featuresindex = featuresindex + 1;
PostAsync是已知类型的 post 请求的一种简短方式。
为了使用 object 将特定类型作为字符串字典发送 - 将其转换为 Json 并使用HttpWebRequest :
var values = new Dictionary<string, Object>();
values.Add("par1", "0V8");
values.Add("par2", "67");
values.Add("variableValues", kvp);
string data = JsonConvert.SerializeObject(values);
//This gives you the byte array.
var dataToSend = Encoding.UTF8.GetBytes(data);
var req = HttpWebRequest.Create(url);
req.ContentType = "application/json";
req.ContentLength = dataToSend.Length;
req.Method = "POST";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.