我正在将一些带有不同特殊字符的文件上传到 blob。它没有被上传。我发现azure的文件命名有一些限制。因此,我需要 blob 文件名不支持的 unicode 字符列表,或者查找 azure blob 文件名是否支持某个字符的方法。
我在下面的文档中提到了这一点。他们没有提供任何特定的列表或找到它的方法。 https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata
I need the exact validation of file name validation happening on upload file blade on azure blob
最佳答案
我不认为Microsoft Docs非常精确地指定。
Blob 名称必须符合以下命名规则:
- Blob 名称可以包含任意字符组合。
- 对于 Azure 存储中的 Blob,Blob 名称的长度必须至少为 1 个字符,且不能超过 1,024 个字符。
- Blob 名称区分大小写。
- 必须正确转义保留的网址字符。
- 组成 blob 名称的路径段数量不能超过 254。路径段是与虚拟目录名称相对应的连续分隔符(例如正斜杠“/”)之间的字符串。
在我的测试中,我发现 Azure Blob 名称中不能包含这些字符
- 控制字符0x00-0x1F
- 删除0x7F
- 反斜杠“\” - Azure 会将其转换为正斜杠“/”
- 名称以句号“.”结尾
我使用了Azure Blob go SDK进行这些测试,因此其中一些限制可能是由于此原因造成的。
关于c# - 我们是否有 Azure Blob 文件名不支持的字符列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54805654/