作者:靠谱同学轻松1988 | 来源:互联网 | 2023-05-17 14:45
我有一个URL(来自客户端的实时源的URL),当我在浏览器中点击时返回xml响应.我已将其保存在文本文件中,其大小为8 MB.
现在我的问题是我需要将此响应保存在服务器驱动器上的xml文件中.从那里我将在数据库中插入此.并且需要使用http-client或c#.net 4.5的rest-sharp库使用代码进行请求
我不确定我应该为上述情况做些什么.任何身体都能给我一些建议
1> Todd Menier..:
使用RestSharp,它就在自述文件中:
var client = new RestClient("http://example.com");
client.DownloadData(request).SaveAs(path);
随着HttpClient
,它涉及更多.看看这篇博客文章.
另一种选择是Flurl.Http(免责声明:我是作者).它使用HttpClient
引擎盖,提供流畅的界面和许多方便的帮助方法,包括:
await "http://example.com".DownloadFileAsync(folderPath, "foo.xml");
在NuGet上获取它.
@JCarlos:`SaveAs`方法仍在那里.它位于`RestSharp.Extensions`命名空间,`MiscExtensions`类中.
2> 小智..:
似乎SaveAs已经停产.你可以试试这个
var client = new RestClient("http://example.com")
byte[] respOnse= client.DownloadData(request);
File.WriteAllBytes(SAVE_PATH, response);
见上面的答案评论.
3> Vitaly..:
如果您想要异步版本
var request = new RestRequest("/resource/5", Method.GET);
var client = new RestClient("http://example.com")
var respOnse= await client.ExecuteTaskAsync(request);
if (response.StatusCode != HttpStatusCode.OK)
throw new Exception($"Unable to download file");
response.RawBytes.SaveAs(path);