Ich lade die Videos und Bilder über die Post-Anfrage an den S3-Dienst in den S3-Bucket hoch (ohne AWS SDK zu verwenden). Die Bilder und Videos wurden erfolgreich hochgeladen. Das Video wird jedoch nicht über die URL abgespielt.
Unten ist der Fehler, der auf der Konsole gedruckt wird:
Fehlerdomäne = NSURLErrorDomain Code = -999 "abgebrochen" UserInfo = {NSErrorFailingURLStringKey = https: // s3url }
Es folgt der Code für die mehrteilige Anforderung, die ich verwende:
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
}
}
Antworten:
Der Grund dafür war, dass beim Hochladen des Videos der Inhaltstyp für das Video nicht eingestellt wurde, aufgrund dessen das Video nicht abgespielt wurde. Wenn Sie den Inhaltstyp sowohl in Formulardaten als auch in Richtlinie festlegen, wird das Video hochgeladen und erfolgreich abgespielt.
quelle