从winRt中的azure blob存储下载图像

时间:2013-04-17 06:39:14

标签: azure windows-8

我现在关于azure-sdk-winRT中的方法 DownloadToStreamAsync ,但我无法实现此功能。如何从blob存储下载图像,并保存到本地文件夹?

1 个答案:

答案 0 :(得分:2)

你可以尝试类似下面的内容(非常简单的骨骼实现,没有错误检查):

        CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials("accountname", "accountkey"), true);
        var client = account.CreateCloudBlobClient();
        var container = client.GetContainerReference("containername");
        var blob = container.GetBlockBlobReference("imagename.ext");//e.g myimage.png
        var file = await KnownFolders.PicturesLibrary.CreateFileAsync("imagename.ext", CreationCollisionOption.ReplaceExisting);
        var stream = await file.OpenAsync(FileAccessMode.ReadWrite);
        await blob.DownloadToStreamAsync(stream);
        await stream.FlushAsync();
        stream.Dispose();

虽然有一些评论:

  • 上面的示例写入“图片”库。您需要确保您的Windows 8 App具有为其定义的功能。
  • 尝试查看共享访问签名功能,而不是使用帐户凭据路由,尤其是如果您允许应用的用户从您的存储帐户下载图片。