2016-11-10 51 views
0

如何從我的S3存儲桶獲取元數據,其中包含用於顯示目的的文件的友好文件名。iOS Amazon Cognito S3元數據文件名

舉例來說,在我的表視圖我有文件的格式如下列表:

私人/ 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; 
}