Swift 3将文件上传到Amazon S3
我想分享一个简单的教程,介绍如何使用Swift 3将文件上传到iOS中的 Amazon S3 。 我们走吧。
- 我们需要将Amazon S3框架添加到您的项目中。 在此示例中,我将通过帮助Cocoapods来完成此任务 。
2.创建一个Podfile :
平台:ios,“ 8.0”
hibit_all_warnings!
use_frameworks!
目标'AmazonS3Upload'做
吊舱“ AWSS3”
结束
3.从终端运行下一个命令:
吊舱安装
4.打开生成的工作区。 之后,我们可以使用Pods的框架来实现文件的上传。
5.我们需要导入2个模块:
导入AWSS3
导入AWSCore
6.使用您的凭证设置AWS配置。 例如:
让accessKey =“ ...”
让secretKey =“ ...”
让凭据提供者= AWSStaticCredentialsProvider(accessKey:accessKey,secretKey:secretKey)
让配置= AWSServiceConfiguration(区域:AWSRegionType.usEast1,凭据提供商:凭据提供商)
AWSServiceManager.default()。defaultServiceConfiguration =配置
7.创建一个上传请求:
让url = ...文件的URL ...
let remoteName =“上传文件的名称”
让S3BucketName =“您在Amazon S3上的存储桶的名称”
让uploadRequest = AWSS3TransferManagerUploadRequest()!
uploadRequest.body =网址
uploadRequest.key = remoteName
uploadRequest.bucket = S3BucketName
uploadRequest.contentType =“图像/ JPEG”
uploadRequest.acl = .publicRead
8.并使用AWSS3TransferManager上载。
让transferManager = AWSS3TransferManager.default()
transferManager?.upload(uploadRequest).continue({(任务:AWSTask )->任何?
如果让错误= task.error {
print(“上传失败,错误:(\(error.localizedDescription))”)
}
如果让exception = task.exception {
print(“上传失败,出现异常(\(exception))”)
}
如果task.result!= nil {
让url = AWSS3.default()。configuration.endpoint.url
让publicURL = url?.appendingPathComponent(uploadRequest.bucket!)。appendingPathComponent(uploadRequest.key!)
print(“上传到:\(publicURL)”)
}
返回零
})
就这样。 完整的示例可以在这里找到。