gpt4 book ai didi

swift - 在 Swift 中将视频上传到 Amazon S3

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:25 25 4
gpt4 key购买 nike

我曾尝试在 Swift 中将视频文件上传到 Amazon S3,但我失败了。这是我的代码。我希望你能指导我。

@IBAction func uploadVideoBtnClicked(sender: AnyObject)
{
//-- Add Amazon Video upload code

var uploadRequest: AWSS3TransferManagerUploadRequest = AWSS3TransferManagerUploadRequest()

uploadRequest.bucket = "appFile"
uploadRequest.key = "foldername/test.mov"

//Move video file to the application folder so it can be read

var savedVideoURLToBeUsed = NSUserDefaults.standardUserDefaults().objectForKey("ThisIsTheVideoIWantToUse") as! String
print("Video saved in Store: \(savedVideoURLToBeUsed)")

var url: NSURL = self.videoPath

uploadRequest.body = url

print("URL: \(url)")

let transferManager: AWSS3TransferManager = AWSS3TransferManager.defaultS3TransferManager()
transferManager.upload(uploadRequest).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (AWSTask) -> AnyObject! in

//Handle errors
if AWSTask.error != nil {

println("Error in uploading the video: \(AWSTask.error)")

// Retrive information important for later downloading
} else {
println("Video upload successful..")
var uploadResult: AnyObject! = AWSTask.result
println("Upload result: \(uploadResult)")


}
return nil

})

}

并且我已经在现有项目上添加了 pod 库文件。

最佳答案

在uploadVideo中传递视频的URL

func uploadVideo(fileUrl : URL){

let newKey = "video/1.mov"

let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest?.body = fileUrl as URL
uploadRequest?.key = newKey
uploadRequest?.bucket = "YourBucketName"
uploadRequest?.acl = AWSS3ObjectCannedACL.publicRead
uploadRequest?.contentType = "movie/mov"

uploadRequest?.uploadProgress = { (bytesSent, totalBytesSent, totalBytesExpectedToSend) -> Void in
DispatchQueue.main.async(execute: {
let amountUploaded = totalBytesSent // To show the updating data status in label.
print(amountUploaded)
})
}

let transferManager = AWSS3TransferManager.default()
transferManager.upload(uploadRequest!).continueWith(executor: AWSExecutor.mainThread(), block: { (task) in
if task.error != nil {
print(task.error.debugDescription)
} else {
// Do something with your result.
print("done")
}
return nil
})

}

关于swift - 在 Swift 中将视频上传到 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34770099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com