Amazon S3文件名中的特殊字符

Mit*_*hil 7 amazon-s3

用户正在上传名称为"abc#1","abc#2"的文件.我将这些文件上传到S3.当我尝试下载这些文件时,我得到一个错误,例如此 __CODE__ Header值包含一个开放的引用范围.

我通过使用"Uri.EscapeUriString"包装文件名来创建链接.有什么建议?

Ant*_*iad 6

AWS 文档

密钥的名称是一系列 Unicode 字符,其 UTF-8 编码长度最多为 1024 个字节。

因此“abc #1”和“abc #2”是有效的键名,那么问题可能出在您的客户端代码中,请检查您的 Http 客户端的文档。

AWS 还警告使用特殊字符:

您可以在对象键名称中使用任何 UTF-8 字符。但是,在密钥名称中使用某些字符可能会导致某些应用程序和协议出现问题。以下指南可帮助您最大限度地遵守 DNS、网络安全字符、XML 解析器和其他 API。

  • 字母数字字符:0-9, a-z,A-Z
  • 特殊字符:!, -, _, ., *, ', (,)

因此,要么将应用中的可用字符集限制为仅允许推荐的字符,要么在客户端级别解决问题。