Ios AWS S3:列出特定S3文件夹中的对象?

Ios AWS S3:列出特定S3文件夹中的对象?,ios,amazon-web-services,amazon-s3,Ios,Amazon Web Services,Amazon S3,我正在使用AWS IOS SDK从S3下载文件,在S3存储桶的特定文件夹中列出对象时遇到问题。我可以使用listObjectsInBucket方法列出整个bucket的所有文件,但我只需要列出bucket中特定文件夹中的文件 因此,我尝试使用listObjects方法并指定一个bucket名称和前缀(指示S3上的文件夹名称) 但是下面的代码不起作用 S3ListObjectsRequest *lor = [S3ListObjectsRequest alloc]; lor.bucket = @"b

我正在使用AWS IOS SDK从S3下载文件,在S3存储桶的特定文件夹中列出对象时遇到问题。我可以使用listObjectsInBucket方法列出整个bucket的所有文件,但我只需要列出bucket中特定文件夹中的文件

因此,我尝试使用listObjects方法并指定一个bucket名称和前缀(指示S3上的文件夹名称)

但是下面的代码不起作用

S3ListObjectsRequest *lor = [S3ListObjectsRequest alloc];
lor.bucket = @"bucketName";
lor.prefix = @"/folderName1/foldername2";

S3ListObjectsResponse *ListObjectResponse = [self.s3 listObjects:lor];
只要不要在folderName1前面加“/”,事情就会解决

斯威夫特:

let listObjectsRequest = AWSS3ListObjectsRequest()
    listObjectsRequest.bucket = "(your bucket name)"
    listObjectsRequest.prefix = "(subfolder1)/(subfolder2)" 
    s3.listObjects(listObjectsRequest).continueWithBlock { (task) -> AnyObject! in .......
目标C:

S3ListObjectsRequest *lor = [S3ListObjectsRequest alloc];
lor.bucket = @"bucketName";
lor.prefix = @"folderName1/foldername2"; 

S3ListObjectsResponse *ListObjectResponse = [self.s3 listObjects:lor];

我发现了这个问题(或是一个解决方案)。S3ListObjectsRequest初始化需要调用方法initWithName@“S3Name”…新代码是:S3ListObjectsRequest*lor=[S3ListObjectsRequest alloc]initWithName:@“bucketName”];解决了我的问题+1。只是在我的代码中添加前缀:P
S3ListObjectsRequest *lor = [S3ListObjectsRequest alloc];
lor.bucket = @"bucketName";
lor.prefix = @"folderName1/foldername2"; 

S3ListObjectsResponse *ListObjectResponse = [self.s3 listObjects:lor];