c# - 我们是否有 Azure Blob 文件名不支持的字符列表?

标签 c# azure filenames azure-blob-storage azure-files

我正在将一些带有不同特殊字符的文件上传到 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/

相关文章:

ruby - 为什么我无法使用 `load` 加载具有特定文件名的脚本?

java - 如何在 Content-Disposition header 中设置包含空格的文件名

python - Python如何检查文件名是否为UTF8?

C# - 反序列化 SOAP 消息

azure - 位桶上的多个部署管道

如果不存在记录,则 azure 脚本插入,否则在服务器端更新

azure - 创建依赖项管道以检查 ADF 中的文件是否为最新文件

c# - 如何在 C# 中将文件上传到 Azure blob 但具有不同的文件名?

c# - 如何创建具有相对宽度值的动态 ColumnDefinitions?

C# IsNull() 和 IsEqualTo() - Visual Studio 在示例 Dapper.net/Contrib 代码中无法识别它们