iOS Amazon Cognito S3 元数据文件名
iOS Amazon Cognito S3 metadata filenames
如何从我的 S3 存储桶中获取元数据,其中包含用于显示目的的文件的友好文件名。
例如,在我的 table 视图中,我有一个文件列表,格式如下:
private/eu-west-1:2dcdgv-des3-3res-fsgr-123456xxxxx/Demo Directory/bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
现在这部分(关键)"bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" 应该类似于 myFile.jpg。
对于那些感兴趣的人,我按如下方式解决了它:
-(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;
}
如何从我的 S3 存储桶中获取元数据,其中包含用于显示目的的文件的友好文件名。
例如,在我的 table 视图中,我有一个文件列表,格式如下:
private/eu-west-1:2dcdgv-des3-3res-fsgr-123456xxxxx/Demo Directory/bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
现在这部分(关键)"bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" 应该类似于 myFile.jpg。
对于那些感兴趣的人,我按如下方式解决了它:
-(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;
}