【发布时间】:2018-09-19 09:33:53
【问题描述】:
我正在尝试将图像保存到我们的 Azure 博客存储中。感谢通过代码 sn-p 下面的链接提供的有用响应,我能够成功地将文件保存到我们的顶级容器中。不幸的是,我希望将文件保存到该容器的子目录中。而且,为了我的一生,我无法让它发挥作用。
目前,图像正在保存到我们的“图像”容器中。在该容器中是一个文件夹,“成员”。我希望将文件保存到该子目录。所以“图像/成员”。我试图将“图像/成员”传递给 GetBlockBlobReference,但是文件根本没有保存(或者,至少我找不到它)。
这看起来应该很简单。提前致谢。
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("images");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(filename);
blockBlob.UploadFromStream(stream);
Top-level container. The image with the Guid is one that I uploaded
The "members" directory. Sorted by most recent; nothing recent appearing
Helpful solution that got me to saving successfully to the top-level container
【问题讨论】:
-
当您尝试“图像/成员”时发生了什么?你用什么来查看你的容器和blob。这个:azure.microsoft.com/en-us/features/storage-explorer?
-
不要更改容器引用,将其保留为图像。您需要将块 blob 引用更改为“成员/文件名”
-
使用 Azure 存储资源管理器查看容器。成员是一个现有的“目录”,其中已经保存了许多图像。在按照建议更改代码之前,我会看到我上传的文件保存到图像容器(在存储资源管理器中)。当我对建议的代码进行更改然后导航到成员“目录”时,我看到了所有旧图像。我使用“上次修改时间”,因为最近没有出现在文件列表的顶部。再次感谢!
-
在容器“images”下使用带有前缀“members/”的 listBlobs 调用,您应该能够获取在 members 文件夹下创建的所有 blob。这就是存储资源管理器在向您显示文件时所做的事情。
标签: azure blob azure-blob-storage