kha*_*osh 4 .net c# rest webclient
我可以在单个请求中将数据发布到 URI 并下载文件吗WebClient?
TL;DR
我正在使用一个扩展类WebClient来联系我们的 PHP API 并下载文件。该类添加了一个CookieContainer以WebClient启用 PHP 会话。
WebClient.UploadValues()NameValueCollection向服务器发送查询以验证以下请求。WebClient.DownloadFile()下载文件。这是 API 中唯一不太 RESTful 的部分,我更愿意将其移至单个无状态查询中。
我可以在调用之前WebClient.QueryString手动设置查询字符串,但该方法使用 GET 方法,并且 API 需要 POST 数据。 NameValueCollectionDownloadFile()
可以在调用之前将该方法设置为 POSTDownloadFile()吗?还有别的办法吗?
答案比我想象的要简单(doh)。
using (WebClient client = new WebClient())
{
byte[] result = client.UploadValues(url, data);
File.WriteAllBytes(path, result);
}
Run Code Online (Sandbox Code Playgroud)
UploadValues()发送 POST 数据。返回的 byte[] 数组将是文件。