将包含空子文件夹的文件夹上传到S3(使用AWS Java SDK)

时间:2014-04-07 12:06:36

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

我尝试将文件夹从我的语言笔记本电脑上传到亚马逊的S3。我在Amazon的Java SDK中使用以下代码:

File folder = new File("c:/some/of/my/folders");
TransferManager tm = new TransferManager( AWS.getAwsCredentials() );
MultipleFileUpload upload = tm.uploadDirectory( "my-bucket", folder.getName(), folder, true );
upload.waitForCompletion();
tm.shutdownNow();

实际上传按预期工作,我可以在S3的Web控制台上看到我的文件夹,子文件夹和文件。但是缺少所有空文件夹(不包含文件或其他文件夹)。我怎样才能将它们上传到?

我知道S3并不知道"文件夹"因为它不是文件系统所以使用密钥。但我可以创建一个"一个文件夹"通过上传空内容(例如像here)。据我所知,我的问题的唯一解决方案是上传如上所示的文件夹,然后通过我的文件夹迭代查找所有空文件夹并单独上传。还有其他想法吗?

1 个答案:

答案 0 :(得分:3)

你是对的,s3是一个关键对象图(不是分层的)。使用以“/”结尾的键创建空(0字节)对象应在S3管理控制台中显示为文件夹。