2016-11-10 3 views
0

Как получить метаданные из моего ведра S3, который содержит дружественное имя файла для отображения.iOS Amazon Cognito S3 metadata filenames

К примеру, в моем представлении таблицы У меня есть список файлов в следующем формате:

частный/EU-запад-1: 2dcdgv-des3-3res-FSGR-123456xxxxx/Demo/Каталог bxxxxxx-xxxx- xxxx-xxxx-xxxxxxxxxxx

Теперь эта часть (ключ) «bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx» должна быть чем-то вроде myFile.jpg, например.

+0

Вы загружая файлы? Если это так, вы можете прикреплять личные метаданные (например, отображаемое имя) при загрузке. Но, насколько я могу судить, нет способа запросить метаданные сразу для нескольких файлов, вы должны запросить его один раз. См.: Http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html –

+0

Я пытаюсь загрузить. Да, вы правы, мне нужно скачать его по одному. Вопрос: где я могу найти рабочий пример объектного кода c, который я могу использовать? – Luben

ответ

0

Для тех, кто заинтересован, я решил ее следующим образом:

-(NSString *)getFileMetaData:(NSString *)fKey 
{ 
__block NSString *fName = @""; 

AWSS3 *s3 = [AWSS3 defaultS3]; 
AWSS3HeadObjectRequest *request = [AWSS3HeadObjectRequest new]; 
request.bucket = @"myS3BucketName"; 
request.key = fKey; 

[[[s3 headObject:request] continueWithBlock:^id _Nullable(AWSTask<AWSS3HeadObjectOutput *> * _Nonnull task) 
{ 
    if(task.result.metadata != nil) 
    { 
     //Do something with it... 
    } 
    else 
    { 
     //Handle no data 
    } 
    return nil; 
}] waitUntilFinished]; 

return fName; 
}