Estoy cargando los videos e imágenes en el bucket de S3 a través de la solicitud posterior al servicio de s3 (sin usar AWS SDK). Las imágenes y videos se cargan correctamente. Pero el video no se reproduce desde su url.
A continuación se muestra el error que se imprime en la consola:
Error Domain = NSURLErrorDomain Code = -999 "cancelado" UserInfo = {NSErrorFailingURLStringKey = https: // s3url }
El siguiente es el código para la solicitud multiparte que estoy usando:
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
}
}
Respuestas:
La razón de esto fue que mientras se cargaba el video, el Tipo de contenido para el video no se configuraba debido a que el video no se estaba reproduciendo. Al establecer el Tipo de contenido en los datos del formulario y en la Política, el video se cargó y se reprodujo correctamente.
fuente