我有一个iOS应用程序,可以上传和下载文件到Amazon AWS S3 Bucket。我希望我的应用程序上传文件,如果它的名称不存在。如果存在则下载文件及其名称。我找到了关于检查文件是否存在的答案。 (https://stackoverflow.com/a/27932233/4646247)但没有例子。
答案 0 :(得分:0)
您可以列出存储桶中存在的所有文件的名称,并查看您要上传的文件是否已存在。您可以按;
列出文件- (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];
}