2

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

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

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

更新 - 这里似乎发布了一个类似(几乎相同)的问题 -将照片流从相机上传到 WP7 中的 azure blob。但是,大写的容器名称在这里不是问题,因此该解决方案没有解决此问题

4

1 回答 1

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

如您所见,这是非常简单的代码。也许您的问题与您的 lambda 表达式有关UploadFromStream

于 2013-12-17T18:27:14.460 回答