Windows Phone 7下载图像并显示它

时间:2012-12-04 10:37:06

标签: c# windows-phone-7 filestream

我是Windows手机平台的新手,我正在尝试构建一个简单的应用程序,从文本框中读取图像URL,并在下载按钮时单击将此图像下载到手机内存,然后将其显示在图像控制。

当用户点击下载按钮时会编写此代码:

string url = "http://some-url-image-name.jpg";
WebClient client = new WebClient();
client.DownloadStringCompleted += DownloadCompleted;
client.DownloadStringAsync(new Uri(url));

这是DownloadStringCompleted事件处理程序:

private void DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error != null)
                return;
            string result = e.Result;
            using (var stream = new MemoryStream(Encoding.Unicode.GetBytes(e.Result)))
            {
                var bi = new BitmapImage();
                bi.SetSource(stream);
                image.Source = bi;
            }
        }

它提供了“未指定的错误”异常。怎么解决?或者有人知道更好的方法吗?

另一个问题,e.Result的本质是什么?它是下载的图像内容作为字符串或路径或什么?

由于

1 个答案:

答案 0 :(得分:8)

图片是二进制内容,而不是字符串。您要么使用WebClient.OpenReadAsync(而不是DownloadStringAsync),要么直接将您的网址设为BitmapImage的来源:

var bi = new BitmapImage(new Uri("http://some-url-image-name.jpg"));
相关问题