我有一个上传和下载文件到Amazon AWS S3存储桶的iOS应用程序。如果文件名不存在,我希望我的应用程序上载该文件。并下载带有其名称的文件(如果存在)。我找到了一个关于检查文件是否存在的答案。(https://stackoverflow.com/a/27932233/4646247),但没有示例。
发布于 2015-09-15 20:13:11
您可以列出存储桶中存在的所有文件的名称,并查看您要上传的文件是否已经存在。您可以通过以下方式列出文件:
- (void) listFilesAWS_S3WithBucketName: (NSString *) bucketName
{
AWSS3 *s3 = [AWSS3 defaultS3];
AWSS3ListObjectsRequest *listObjectReq=[AWSS3ListObjectsRequest new];
listObjectReq.bucket=bucketName;
[[[s3 listObjects:listObjectReq] continueWithBlock:^id(BFTask *task)
{
if(task.error)
{
NSLog(@"the request failed. error %@",task.error);
}
else if(task.result)
{
AWSS3ListObjectsOutput *listObjectsOutput=task.result;
NSArray * files = listObjectsOutput.contents;
NSLog(@"files: %@\ncount: %lu", files, (unsigned long)files.count);
for(AWSS3Object *file in files)
{
NSString *key = [file key];
NSLog(@"%@", key);
//***HERE COMPARE STRINGS AND CHECK TO SEE IF THIS IS YOUR FILE***
}
}
}] waitUntilFinished];
}
https://stackoverflow.com/questions/32583487
复制相似问题