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