Ich habe ein Video, das mit AVCapture erfasst wurde, und ich versuche, mit AFNetworking mit Swift hochzuladen.Hochladen einer Datei von AVCapture mit AFNetworking
Code:
let manager = AFHTTPRequestOperationManager()
let url = "http://localhost/test/upload.php"
var fileURL = NSURL.fileURLWithPath(string: ViewControllerVideoPath)
var params = [
"familyId":locationd,
"contentBody" : "Some body content for the test application",
"name" : "the name/title",
"typeOfContent":"photo"
]
manager.POST(url, parameters: params,
constructingBodyWithBlock: { (data: AFMultipartFormData!) in
println("")
var res = data.appendPartWithFileURL(fileURL, name: "fileToUpload", error: nil)
println("was file added properly to the body? \(res)")
},
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
println("Yes thies was a success")
},
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
println("We got an error here.. \(error.localizedDescription)")
})
Der obige Code fehlschlägt, ich erhalte immer
was file added properly to the body? false"
beachten Sie, dass ViewControllerVideoPath
eine Zeichenfolge ist, die Position des Videos enthält, die ist:
"/private/var/mobile/Containers/Data/Application/1110EE7A-7572-4092-8045-6EEE1B62949/tmp/movie.mov"
mit println()
.... Der obige Code funktioniert, wenn ich af hochlade ILE im Verzeichnis und mit eingeschlossen:
var fileURL = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("test_1", ofType: "mov")!)
Also auf jeden Fall meines PHP-Code ist in Ordnung, und das Problem liegt bei, dass die Datei auf dem Gerät gespeichert hochladen, was ich falsch hier?
Wie genau schlägt Ihr Upload-Code fehl? Ist das Hochladen absolut nichts oder auf andere Weise (Absturz etc.)? Haben Sie eine Überprüfung mit NSFileManager ausgeführt, um zu bestätigen, dass Ihre Datei existiert, bevor Sie den Upload starten? – Eugene
@Eugene die Datei wird durch einen Player mit dem gleichen Pfad wiedergegeben ... Ich bekomme immer von PHP, "Datei zu Körper falsch hinzugefügt" .. – MasterWizard
Scheint wie diese Fehlerantwort von Ihrem Backend wird von Ihnen manuell zurückgegeben. Erhält Ihr Backend die Datei? Wenn ja, haben Sie versucht, die Datei irgendwo auf der Backend-Festplatte zu schreiben, um zu sehen, ob die Datei richtig kodiert ist und von Ihrem Media Player gelesen werden kann? – Eugene