繁体   English   中英

使用 http 客户端发出 POST 请求

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM