0

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

4

1 回答 1

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 应用程序具有为其定义的功能。
  • 尝试查看共享访问签名功能,而不是使用帐户凭据路由,特别是如果您允许应用程序的用户从您的存储帐户下载图像。
于 2013-04-17T08:01:29.113 回答