这是我到目前为止的代码.
let S3Bucketname = "*******" // configure authentication with Cognito let CognitopoolID = "*************" let Region = AWSRegionType.USEast1 let credentialsProvIDer = AWSCognitoCredentialsProvIDer(regionType:Region,IDentityPoolID:CognitopoolID) let configuration = AWSServiceConfiguration(region:Region,credentialsProvIDer:credentialsProvIDer) AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration let ext = "png" let imageURL = NSBundle.mainBundle().URLForResource("iimage",withExtension: ext)! let uploadRequest = awss3transfermanagerUploadRequest() uploadRequest.body = imageURL uploadRequest.key = nsprocessInfo.processInfo().globallyUniqueString + "." + ext uploadRequest.bucket = S3Bucketname uploadRequest.ContentType = "image/" + ext let transferManager = awss3transfermanager.defaultS3TransferManager() transferManager.upload(uploadRequest).continueWithBlock { (task) -> AnyObject! in if let error = task.error { print("Upload Failed (\(error))") } if let exception = task.exception { print("Upload Failed (\(exception))") } if task.result != nil { let s3URL = NSURL(string: "http://s3.amazonaws.com/\(S3Bucketname)/\(uploadRequest.key!)")! print("Uploaded to:\n\(s3URL)") } else { print("Unexpected empty result.") } return nil }解决方法 因为没有认知使用这个
- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ AWsstaticCredentialsProvIDer *credentialsProvIDer = [[AWsstaticCredentialsProvIDer alloc] initWithAccessKey:AWS_ACCESS_KEY secretKey:AWS_SECRET_KEY]; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionAPSoutheast1 credentialsProvIDer:credentialsProvIDer]; AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;}
并用于上传图像使用
awss3transfermanager *transferManager = [awss3transfermanager defaultS3TransferManager];awss3transfermanagerUploadRequest *uploadRequest = [awss3transfermanagerUploadRequest new];uploadRequest.bucket = AWS_S3_BUCKET_name;uploadRequest.key = @"cards/image.png";uploadRequest.ContentType = @"image/png";uploadRequest.body = imageURL;[[transferManager upload:uploadRequest] continueWithExecutor:[AWSExecutor mainThreadExecutor] withBlock:^ID(AWSTask *task) { if (task.error) { if ([task.error.domain isEqualToString:awss3transfermanagerErrorDomain]) { switch (task.error.code) { case awss3transfermanagerErrorCancelled: case awss3transfermanagerErrorPaused: break; default: NSLog(@"Error: %@",task.error); break; } } else { // UnkNown error. NSLog(@"Error: %@",task.error); } } if (task.result) { awss3transfermanagerUploadOutput *uploadOutput = task.result; NSLog(@"success: %@",uploadOutput); } return nil; }];总结
以上是内存溢出为你收集整理的ios – 如何在没有Amazon Cognito的情况下使用AWS S3?全部内容,希望文章能够帮你解决ios – 如何在没有Amazon Cognito的情况下使用AWS S3?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)