无法使用诺基亚成像SDK使用下载的图像

时间:2013-11-14 04:29:34

标签: c# windows-phone-8 nokia-imaging-sdk lumia-imaging-sdk

诺基亚刚刚发布了'诺基亚成像SDK'版本1.但是,现在我无法使用Stream下载图像,因为SDK的StreamImageSource尝试使用不能用于Async Stream的Stream.Length。我怎样才能解决这个问题?

这是我的代码:

HttpClient c = new HttpClient();
Stream orgImageStream = await c.GetStreamAsync(imageUri);
var imageSource = new StreamImageSource(orgImageStream);  //fails here since he tries to use Stream.Length

1 个答案:

答案 0 :(得分:3)

有趣的错误 - 将它报告给诺基亚会很有用 无论如何,您可以通过先将文件保存到独立存储区,或将其复制到本地 MemoryStream 来解决此问题:

HttpClient c = new HttpClient();
Stream orgImageStream = await c.GetStreamAsync(imageUri);

MemoryStream ms = new MemoryStream();
await orgImageStream.CopyToAsync(ms);
ms.Seek(0, SeekOrigin.Begin);
var imageSource = new StreamImageSource(ms);

但是不要忘记使用使用(Stream ...){...} 中的所有Streams来正确处理它们!