2016-11-10 9 views
0

S3バケットから表示目的でファイルのファイル名を含むメタデータを取得するにはどうすればよいですか?例えばiOS Amazon Cognito S3メタデータファイル名

私のテーブルビューに、私は次の形式でのファイルのリストを持っている:

プライベート/ EU-西-1:2dcdgv-des3-3res-fsgr-123456xxxxx /デモディレクトリ/ bxxxxxx-xxxx- xxxx-xxxx-xxxxxxxxxxx

この部分(キー)「bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx」は、たとえばmyFile.jpgのようになります。興味のある方のため

+0

あなたは、ファイルをアップロードしていますか?その場合は、アップロード時にプライベートメタデータ(表示名など)を添付することができます。しかし、私は、一度に複数のファイルのメタデータを要求する方法はないと言える限り、一度に1つずつ要求する必要があります。参照してください:http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html –

+0

私はダウンロードしようとしています。はい、あなたは正しいです私はそれを1つずつダウンロードする必要があります。質問は私が使うことができる客観的な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; 
} 
関連する問題