2015-02-24 8 views
2

Я использую v2 AWS IOS SDK, чтобы загрузить свои изображения на сервер мой код я смирительный впередAWSS3TransferManagerUploadRequest получить URL ответа

NSString * uniqueIdentifier = [[NSUUID UUID]UUIDString]; 

AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new]; 
uploadRequest.bucket = @"my bucket"; 
uploadRequest.key = [NSString stringWithFormat:@"%@/images/%@.jpeg",objectId,uniqueIdentifier]; 
uploadRequest.ACL = AWSS3ObjectCannedACLPublicRead; 

NSData * data = UIImageJPEGRepresentation(newImage, 0.8); 

NSString *tmpDirectory = NSTemporaryDirectory(); 

NSString *tmpFile = [tmpDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpeg",uniqueIdentifier]]; 
NSLog(@"Temp File:%@", tmpFile); 

[data writeToFile:tmpFile atomically:YES]; 

uploadRequest.body = [NSURL fileURLWithPath:tmpFile]; 

AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager]; 

[[transferManager upload:uploadRequest] continueWithExecutor:[BFExecutor defaultExecutor] 
                withBlock:^id(BFTask *task) { 
                 if (task.error != nil) { 
                  NSLog(@"%s %@","Error uploading :", uploadRequest.key); 
                 }else { 

                  AWSS3TransferManagerUploadOutput * output = task.result; 


                  NSLog(@"Upload completed %@",[output description]); 


                 } 
                 return nil; 
                }]; 

после того, как я загрузить файл в S3 службу, где является URL ответа ? как я могу узнать URL для этого изображения? Я хочу поместить изображение внутри объекта в БД.

благодаря

ответ

1

публично считываемые объекты Amazon S3 следовать этому URL схеме:

https://S3Endpoint/BucketName/ObjectName 

Самый простой способ узнать URL объекта должен идти к AWS Management Console и look на «Ссылка : "для объекта.