从Swift将视频上传到Amazon S3

时间:2019-01-22 13:25:10

标签: ios swift amazon-web-services amazon-s3

我想使用Swift在Amazon S3上上传视频,但找不到任何在线帮助。 有人可以帮我吗?

谢谢!

https://docs.aws.amazon.com/en_us/aws-mobile/latest/developerguide/mobile-hub-add-aws-mobile-user-data-storage.html

2 个答案:

答案 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 
  1. 从终端运行下一个命令:

    pod安装

  2. 打开生成的工作区。之后,我们可以使用Pods的框架实现文件的上传。

  3. 我们需要导入2个模块:

导入AWSS3

导入AWSCore

  1. 使用您的凭证设置AWS配置。例如:

    let accessKey =“ ...” 让secretKey =“ ...”

    let certificateProvider = AWSStaticCredentialsProvider(accessKey:accessKey,secretKey:secretKey)

    让配置= AWSServiceConfiguration(区域:AWSRegionType.usEast1,凭据提供商:凭据提供商)

    AWSServiceManager.default()。defaultServiceConfiguration =配置

  2. 创建上传请求:

    让url = ...文件的URL ... let remoteName =“上传文件的名称” 让S3BucketName =“您在Amazon S3上的存储桶的名称”

    让uploadRequest = AWSS3TransferManagerUploadRequest()! uploadRequest.body =网址 uploadRequest.key = remoteName uploadRequest.bucket = S3BucketName uploadRequest.contentType =“图像/ JPEG” uploadRequest.acl = .publicRead

  3. 并使用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)")
    

    }

    返回零 })