我想使用Swift在Amazon S3上上传视频,但找不到任何在线帮助。 有人可以帮我吗?
谢谢!
答案 0 :(得分:0)
您还可以按照https://aws-amplify.github.io/docs/ios/storage使用Amplify CLI设置S3,并使用Amplify框架的存储插件与S3进行交互。
答案 1 :(得分:-1)
1)创建一个Podfile:
platform :ios, '8.0'
inhibit_all_warnings!
use_frameworks!
target 'AmazonS3Upload' do
pod 'AWSS3'
end
从终端运行下一个命令:
pod安装
打开生成的工作区。之后,我们可以使用Pods的框架实现文件的上传。
我们需要导入2个模块:
导入AWSS3
导入AWSCore
使用您的凭证设置AWS配置。例如:
let accessKey =“ ...” 让secretKey =“ ...”
let certificateProvider = AWSStaticCredentialsProvider(accessKey:accessKey,secretKey:secretKey)
让配置= AWSServiceConfiguration(区域:AWSRegionType.usEast1,凭据提供商:凭据提供商)
AWSServiceManager.default()。defaultServiceConfiguration =配置
创建上传请求:
让url = ...文件的URL ... let remoteName =“上传文件的名称” 让S3BucketName =“您在Amazon S3上的存储桶的名称”
让uploadRequest = AWSS3TransferManagerUploadRequest()! uploadRequest.body =网址 uploadRequest.key = remoteName uploadRequest.bucket = S3BucketName uploadRequest.contentType =“图像/ JPEG” uploadRequest.acl = .publicRead
并使用AWSS3TransferManager上传。
让transferManager = AWSS3TransferManager.default() transferManager?.upload(uploadRequest).continue({(任务:AWSTask)->任何? 如果让错误= task.error { print(“上传失败,错误:((error.localizedDescription))”) }
如果让异常= task.exception { print(“上传失败,出现异常((exception))”) }
if task.result!=无{ 让url = AWSS3.default()。configuration.endpoint.url 让publicURL = url?.appendingPathComponent(uploadRequest.bucket!)。appendingPathComponent(uploadRequest.key!)
print("Uploaded to:\(publicURL)")
}
返回零 })