【发布时间】:2013-08-01 11:43:03
【问题描述】:
我正在使用以下代码从 url 下载图像
HttpClient client = new HttpClient();
var stream = await client.GetStreamAsync(new Uri("<your url>"));
var file = await KnownFolders.PictureLibrary.CreateFileAsync("myfile.png");
using (var targetStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
using (stream)
await stream.CopyToAsync(targetStream.AsStreamForWrite());
}
一些用户报告说它并不总是下载整个图像。他们有时会得到部分图像,其余的只是垃圾。
这有什么原因吗? 谢谢!
【问题讨论】:
-
是否需要刷新/关闭/处置目标流/文件?
-
我不确定。我认为 using 块会为我解决这个问题。但我会试一试。不幸的是,我无法重现该问题,因此我输入的任何“修复”都将是盲目的。刚刚意识到流不在 using 块中
-
@Javalsu 文档对从 Client.GetStreamAsync 返回的流上的 Dispose 方法有何评论。有些流需要刷新,有些则不需要
-
我猜是因为你正在调用GetStreamAsync()............你需要进行同步调用stackoverflow.com/questions/26958829/…
标签: c# .net windows-runtime