我有一个网络服务,比如这个例子用于从服务器下载 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);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)