2015-09-15 4 views
0

У меня есть приложение iOS, которое загружает и загружает файлы в Amazon AWS S3 Bucket. Я хочу, чтобы мое приложение загружало файл, если его имя не существует. И загрузите файл с его именем, если оно существует. Я нашел ответ о проверке файла или нет. (https://stackoverflow.com/a/27932233/4646247), но примера нет.AWS S3 Проверить ключ в bucket

ответ

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]; 
} 
Смежные вопросы