视频上传到Swift中的Amazon S3
发布时间:2020-12-14 04:30:54 所属栏目:百科 来源:网络整理
导读:我已尝试在 Swift中将视频文件上传到Amazon S3,但我失败了.这是我的代码.我希望你能引导我. @IBAction func uploadVideoBtnClicked(sender: AnyObject){ //-- Add Amazon Video upload code var uploadRequest: AWSS3TransferManagerUploadRequest = AWSS3Tr
我已尝试在
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 }) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |