2013-04-16 55 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表达式有关?

相关问题