我通过对 s3 服务的发布请求将视频和图像上传到 S3 存储桶上(不使用 AWS SDK)。图片和视频已成功上传。但视频无法从其网址播放。
下面是控制台上打印的错误:
错误域=NSURLErrorDomain代码=-999“已取消”UserInfo={NSErrorFailingURLStringKey=https://s3url }
以下是我正在使用的多部分请求的代码:
Alamofire.upload(multipartFormData: { (multiPart) in
if parameters != nil {
for (key, value) in parameters! {
multiPart.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
}
}
print("mime type ==================>\(mimeType)")
//mime type for video: "video/mp4"
multiPart.append(file, withName: key, fileName: fileName, mimeType: mimeType)
}, usingThreshold: 10000, to: url, method: .post, headers: headers) { (encodingResult) in
switch encodingResult {
case .success(let upload, _, _):
upload.responseString(completionHandler: { (response) in
print("response string")
print(response)
})
upload.responseJSON { response in
print(response)
print(response.result.isSuccess)
}
case .failure(let error):
failure(self.parseError(error: error))
break
}
}
最佳答案
原因是上传视频时,未设置视频的内容类型,导致视频无法播放。在form-data和Policy中设置Content-Type,视频上传并播放成功。
关于ios - 视频,上传到S3存储桶,不在iOS应用程序中通过url播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59282815/