2016-06-14 52 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