我可以在单个WebClient
请求中将数据发布到URI并下载文件吗?
TL;DR
我正在使用扩展类WebClient
来联系我们的PHP API并下载文件。该类在中添加CookieContainer
,WebClient
以启用PHP会话。
WebClient.UploadValues()
NameValueCollection
向服务器发布查询以认证以下请求。WebClient.DownloadFile()
下载文件。这是API唯一不是非常RESTful的部分,我希望将其移至单个无状态查询中。
我可以在调用之前WebClient.QueryString
手动设置NameValueCollection
查询字符串,DownloadFile()
但是该方法使用GET方法,并且API需要POST数据。
可以在调用之前将方法设置为POSTDownloadFile()
吗?还有另一种方法吗?
答案比我意识到的要简单(doh)。
using (WebClient client = new WebClient())
{
byte[] result = client.UploadValues(url, data);
File.WriteAllBytes(path, result);
}
UploadValues()
发送POST数据。返回的byte []数组将是文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句