Estou carregando os vídeos e imagens no bucket do S3 por meio da solicitação de postagem no serviço s3 (sem usar o AWS SDK). As imagens e vídeos foram enviados com sucesso. Mas o vídeo não está sendo reproduzido pelo URL.
Abaixo está o erro impresso no console:
Domínio de erro = Código NSURLErrorDomain = -999 "cancelado" UserInfo = {NSErrorFailingURLStringKey = https: // s3url }
A seguir, está o código da solicitação de várias partes que estou 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
}
}
Os arquivos de vídeo estão disponíveis publicamente? se você colocar o URL no navegador, ele abre?
—
Scriptable
@Scriptable sim, todos os arquivos têm acesso público. Se eu abrir o URL no navegador, o arquivo será baixado e, depois de adicionar a extensão .mov, ele será reproduzido no Quick time player.
—
SV
você pode mostrar o código onde tenta reproduzi-lo?
—
Scriptable
Estou reproduzindo-o através de uma biblioteca de terceiros do VGPlayer. Mas eu também tentei no AVPlayerController, ele não funciona. deixe player = AVPlayer (url: videoURL) deixe playerViewController = AVPlayerViewController () playerViewController.player = jogador self.present (playerViewController, animado: true) {playerViewController.player! .play ()}
—
SV