C#从Web服务下载文件



我有一个web服务,就像这个从服务器下载zip文件的例子一样。当我通过网络浏览器打开URL时,我可以正确下载zip文件。问题是当我试图通过桌面应用程序下载zip文件时。我使用以下代码下载:

WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri(@"http://localhost:9000/api/file/GetFile?filename=myPackage.zip"), @"myPackage.zip");

测试之后,我下载了myPackage.zip,但它是空的,0kb。有关于这个或任何其他服务器代码+客户端代码示例的帮助吗?

您可以尝试使用HttpClient。通常情况下,它更方便。

var client = new HttpClient();
var response = await client.GetAsync(@"http://localhost:9000/api/file/GetFile?filename=myPackage.zip");
using (var stream = await response.Content.ReadAsStreamAsync())
{
var fileInfo = new FileInfo("myPackage.zip");
using (var fileStream = fileInfo.OpenWrite())
{
await stream.CopyToAsync(fileStream);
}
}

相关内容

  • 没有找到相关文章

最新更新