我在项目中使用Windows Azure Blob存储来存储数据。 我上传文件和文件夹。文件夹只是0大小的对象,名称以' /'
结尾我发现如果我尝试使用" zzz命名文件夹。"然后在天蓝色的我会得到" zzz" (。 已移除) 另外,z.z.z。转换为zzz,但不转换z.z.z. 所以,它看起来像。在对象名称的末尾,所有点都被删除。
请求就像
PUT myblob.blob.core.windows.net/myblobtop/zzz.?timeout=30
headers:
[Content-Encoding] =>
[Content-Language] =>
[Content-Length] => 0
[Content-MD5] =>
[Content-Type] => application/directory
[x-ms-version] => 2009-09-19
[Connection] => Keep-Alive
[x-ms-blob-type] => BlockBlob
然后有一个名为myblobtop / zzz的对象,没有。最后
有谁知道这是什么以及如何解决? 也许有些url编码要编码。到底?
我使用此API调用添加文件夹https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
答案 0 :(得分:3)
你不能拥有。在blobname的末尾:
Blob Names
blob名称必须符合以下命名规则:blob名称 可以包含任何字符组合。 blob名称必须为 至少一个字符长,不能超过1,024个字符 长。
Blob名称区分大小写。
必须正确转义保留的网址字符。路径的数量 包含blob名称的段不能超过254.路径段是 连续分隔符之间的字符串(例如,前向字符串) 斜杠' /)对应于虚拟目录的名称。 System_CAPS_noteNote
避免使用以点(。),正斜杠(/)或a结尾的blob名称 序列或两者的组合。
Blob服务基于平面存储方案,而不是分层结构 方案。但是,您可以指定字符或字符串分隔符 在blob名称中创建虚拟层次结构。例如, 以下列表显示有效和唯一的blob名称。注意一个字符串 可以作为blob名称和虚拟目录名称有效 同一个容器:
/ a
/a.txt
/ a / b
/a/b.txt
枚举时可以利用分隔符 斑点。