Я хотел записать короткое видео и загрузить прямо на сервер Minio. Я использую aws для загрузки, я конвертирую .mov в .mp4, прежде чем загружать его.
let credentialsProvider = AWSStaticCredentialsProvider(accessKey: self.accessKey, secretKey: self.secretKey)
let configuration = AWSServiceConfiguration(region: .Unknown, endpoint: AWSEndpoint(region: .Unknown, service: .S3, url: URL(string:"http://x.x.xxx.xxx:x000/minio")),credentialsProvider: credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
let url = result
let remoteName = "abc.mp4"
let S3BucketName = "abc"
let uploadRequest = AWSS3TransferManagerUploadRequest()!
uploadRequest.body = url!
uploadRequest.key = remoteName
uploadRequest.bucket = S3BucketName
uploadRequest.contentType = "video/mp4"
uploadRequest.acl = .publicRead
// let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(remoteName)
let transferManager = AWSS3TransferManager.default()
transferManager.upload(uploadRequest).continueWith { (task: AWSTask<AnyObject>) -> Any? in
DispatchQueue.main.async {
}
print("uploadRequest:\(uploadRequest)")
print("task:\(task)")
if let error = task.error {
print("Upload failed with error: (\(error.localizedDescription))")
}
if task.result != nil {
let url = AWSS3.default().configuration.endpoint.url
let publicURL = url?.appendingPathComponent(uploadRequest.bucket!).appendingPathComponent(uploadRequest.key!)
print("Uploaded to:\(String(describing: publicURL!))")
}
return nil
}
И вот сообщение об ошибке, которое я получаю от обратного вызова
uploadRequest: {
ACL = 2;
body = "file: ///private/var/mobile/Containers/Data/Application/10C3C67B-E40E-4479-968B-6611AA59753F/tmp/58298907433__45A90626-CD9A-48EF-8011-B282B63F27CF.mp4";
ведро = abc;
cacheIdentifier = "C2665E02-A434-4E7B-A9B2-65E3CE40B4B9-680-000000750DB6B41F";
contentLength = 113776;
contentType = "video / mp4";
currentUploadingPartNumber = 0;
ключ = "abc.mp4";
objectLockLegalHoldStatus = 0;
objectLockMode = 0;
requestPayer = 0;
serverSideEncryption = 0;
состояние = 1;
storageClass = 0;
totalSuccessfullySentPartsDataLength = 0;
}
задача:
Загрузка не удалась с ошибкой: (Операция не может быть завершена. (Com.amazonaws.AWSS3ErrorDomain ошибка 0.))
Я выполняю все шаги, которые могу найти в Интернете, но понятия не имею, в чем проблема, может кто-нибудь, пожалуйста, помогите мне.