在S3存储桶中使用特殊字符创建子文件夹?

时间:2018-08-16 15:37:24

标签: java amazon-web-services amazon-s3

我有一个类似创建“ test +++”之类的子文件夹的要求,但是当我使用此名称时,会在名称“ test%2B%2B%2B”中创建一个子文件夹。我尝试了url编码并转义了特殊字符,但未成功。我正在使用Amazon multipart上传视频。

s3key =URLEncoder.encode("/test123+++/0b14e09f0fe17fe715dec857e3fd2efa.mp4", "UTF-8");

InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(s3bucketName, s3key);       
initRequest.withObjectMetadata(md);
configureInitiateRequest(initRequest);
InitiateMultipartUploadResult initResponse = s3Client.initiateMultipartUpload(initRequest);

有人知道如何使用Java在S3存储桶中创建带有特殊字符“ test +++”的子文件夹。

1 个答案:

答案 0 :(得分:0)

根据AWS S3的文档:

https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

请考虑以下限制:

  

存储桶名称必须符合DNS命名约定。

话虽如此,您也可以查看DNS命名语法的文档:https://en.wikipedia.org/wiki/Domain_Name_System

通常,这些名称应映射为文本字符串,包括用于定界的alphabet (a-z)digits/numbers (0-9)minus sign (-)period (.)中的字符。