2016-06-14 71 views
-3

我有一个PUBLIC Azure Blob存储容器,我试图从该接口上的一个XAML控件上拉下.jpg文件并将其显示在XAML控件上。这里是我的代码到目前为止:如何将Azure Blob中的图像下载到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期待一个';'和这个陈述之后的'}'。我的猜测是该URL令编译器感到困惑。将URL放在双引号中不是一个选项,因为VS将其作为字符串显示并显示错误。任何解决方法?在XAML添加PIC是不是可行的,因为我想为我的应用程序一起去修改内容...

解决:代码如下

image.Source = new BitmapImage(URI_HERE); 

回答

0

假设你没有对你的blob任何安全你可以加载图像中的图像控制

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

更新:

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

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

谢谢你的-1。希望能有一个评论,为什么 – AlexDrenea

+0

哦,我没有那样做。刚刚检查了你的评论。一秒让我试试。 – CStruggle

+0

它的工作原理!但我仍然有一个更多的问题。如果我在XAML上输入它,但是如果我进入.cs文件并执行以下操作,您的答案将有效:image.source =“blobURI”;我得到一个错误,说“不能隐式转换类型的字符串”Windows.UI.XAML.Media.ImageSource ......应该这样工作吗?@AlexDrenea – CStruggle