如何将Azure Blob中的映像下载到XAML中

时间:2016-06-14 02:30:04

标签: c# wpf xaml azure visual-studio-2015

我有一个PUBLIC Azure Blob存储容器,我试图从中提取.jpg文件并将其显示在我的界面上的XAML控件上。到目前为止,这是我的代码:

/* HANDLING A PICTURE */

// Setting up blob URI here
Uri bloburi2 = new Uri("https://FAKE_NAME.blob.core.windows.net/CONTAINER/TEST.jpg");
// Creating new CloudBlockBlob object (passing blob URI as param)
CloudBlockBlob picBlob = new CloudBlockBlob(bloburi);

/***** WAITING FOR MORE ******/ 

这样做的最佳方法是什么?我已经看到了几个图像被拉下并保存到用户机器的例子,但我不知道如何让它在Image XAML控件上显示。

更新:尝试将c#上的图像源更改为blob URI。

image.Source = https://FAKE_NAME.blob.core.windows.net/CONTAINER/TEST.jpg;

获取错误。 Visual Studio期待着&#39 ;;'和一个'}'在此声明之后。我的猜测是URL混淆了编译器。将URL放在双引号中不是一个选项,因为VS将其作为字符串并显示错误。任何解决方法?在XAML上添加pic并不可行,因为我想在我的应用程序出现时修改内容......

已解决:以下代码

image.Source = new BitmapImage(URI_HERE);

1 个答案:

答案 0 :(得分:0)

假设您的blob没有任何安全性,您只需在Image控件中加载图像

<Image Source="https://FAKE_NAME.blob.core.windows.net/CONTAINER/TEST.jpg"/>

更新

如果您需要从代码中设置图像,则需要使用可以使用Uri初始化的BitmapImage

   var bi = new BitmapImage(new Uri("https://FAKE_NAME.blob.core.windows.net/CONTAINER/TEST.jpg"));
   _image.Source = bi;