繁体   English   中英

如何使用Microsoft.Net.Http上传数据?

[英]How to upload data with Microsoft.Net.Http?

过去,我制作了一个在endpoint上缩减请求的类。 现在,我创建一个包含此方法的dll ,这是我要在此库上转换的代码:

using (var client = new HttpClient())
{
     string requestJson = JsonConvert.SerializeObject(data);
     client.DefaultRequestHeaders.Add("token", token);
     byte[] responseArray = client. 'there is no upload data method
     // the bottom code is of the old method 
     byte[] responseArray = client.UploadData(requestURI, method, Encoding.UTF8.GetBytes(requestJson));
    return Encoding.ASCII.GetString(responseArray);
}

在非便携式库System.Net我可以调用client.UploadData ,但是在这里我只能看到:postAsync和putAsync,有一种方法独立于putpost请求,使我可以将数据从client发送到server 提前致谢。

在HTTP请求中,PUT和POST是将数据传输到服务器的正确方法,而独立于这些方法发送数据是没有意义的。 当您使用诸如System.Net中可用的客户端时,这仅仅是从您身上抽象出来的。

在您的旧代码中,您使用了一些传入method参数的方法来通过UploadData方法发送数据,它可能是POSTPUT 如果未为UploadData指定方法,则使用POST 所以,你应该用PostAsyncPutAsync ,根据您当前的代码和值method参数传递给UploadData

最简单的方法是使用如下所示的内容:

using(var client = new HttpClient())
{
    var response = await client.PostAsJsonAsync(requestUrl, data);
    return await response.Content.ReadAsStringAsync();
}

PUT的代码将相同,但使用PutAsJsonAsync

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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