从Windows Phone将图像上载到Azure blob存储。没有创造

时间:2013-04-16 12:37:39

标签: c# azure windows-phone azure-storage azure-storage-blobs

我正在使用Windows Azure将图像存储在我的Windows手机应用程序中。

相机拍摄照片,然后上传所选的照片流。但是它没有丢错但是没有上传?

            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。容器“pics”确实存在,但没有上传图像。弹出的消息框中有一个不存在的URL。

更新 - 这里似乎发布了一个类似(几乎完全相同)的问题 - Uploading a photo stream from camera into azure blob in WP7。但是大写容器名称在这里不是问题,因此解决方案没有解决此问题

1 个答案:

答案 0 :(得分: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表达式有关?