2013-04-16 56 views
2

我使用的Windows Azure存儲在我的Windows Phone應用程序的圖像。將圖像從Windows Phone上傳到Azure blob存儲。沒有創造

相機拍攝照片,然後將選擇的照片流被上載。然而它拋出沒有錯誤,但不上傳?

  var blobContainer = CloudStorageContext.Current.Resolver.CreateCloudBlobClient(); 
      var container = blobContainer.GetContainerReference("pics"); 


      var blob = container.GetBlobReference("picture.jpg"); 
      blob.UploadFromStream(e.ChosenPhoto, response => { MessageBox.Show(blob.Uri.ToString()) }); 

我不知道發生了什麼。解析器包含正確的用戶,密鑰和網址。容器「圖片」確實存在,但沒有圖像正在上傳。消息框彈出一個不存在的url。

更新 - 似乎是在這裏發表simular(以及幾乎相同)的問題 - Uploading a photo stream from camera into azure blob in WP7。但大寫容器名稱是不是一個問題在這裏,這樣的解決方案並沒有解決這個問題

+0

你是如何試圖以驗證該文件已被上傳?一個常見問題是,blob容器沒有設置爲公共訪問,並且您嘗試通過調用存儲帳戶上的URi進行驗證。 – QFDev

+0

兩種方式。使用CloudXplorer並登錄到我的Azure帳戶,實際上通過Windows Azure儀表板https://manage.windowsazure.com – MichaelMcCabe

回答

0

我有一個應用程序(Windows Phone 8的),它會將帶到一個Azure的webrole,圖像這反過來儲存爲圖像Azure存儲Blob。下面的代碼是服務器如何存儲圖像。再次,這段代碼不會在手機上運行,​​但可以將其用作參考。

   string randomGUID = locationID 
       + "-" 
       + Guid.NewGuid().ToString(); 

      //Retrieve storage account from application settings 
      CloudStorageAccount storageAccount = GetStorageAccount(); 

      //Create blob client 
      CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

      //Retrieve reference to images container 
      CloudBlobContainer container = blobClient.GetContainerReference(
       RoleEnvironment.GetConfigurationSettingValue("BlobContainer"));      

      //Retrieve references to the blob inside the container 
      CloudBlockBlob blockBlob = container.GetBlockBlobReference(randomGUID); 

      blockBlob.UploadFromStream(imageToUpload); 

可變imageToUpload是類型Stream的。

正如你所看到的,這是非常簡單的代碼。也許你的問題與你在UploadFromStream中的lambda表達式有關?

相關問題