Ich nehme das Bild von der Kamera auf und konvertiere das Bild in das Base64-Format. Es dauert länger, Bilder an den Server zu senden. Wenn es keine Internetverbindung gibt, speichere ich es in der lokalen Datenbank und sobald ich eine Internetverbindung habe, möchte ich mehrere Bilder an den Server senden. Was ist der beste Weg, Bilder von der App an den Server zu senden.Ordnungsgemäße Methode zum Senden von Bildern von der iOS App an den Server
0
A
Antwort
-1
Sie können Anfrage mehrteiliger machen wie folgt und verwenden dann diese Anforderung in Ihrem NSURLSession
NSString *boundary = [NSString stringWithFormat:@"Boundary-%@", [[NSUUID UUID] UUIDString]];
// configure the request
NSString *urlString = YOUR_URL;
NSURL *url =[NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
// set content type
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];
//create body
request.HTTPBody = [self createBodyWithParameters:params paths:@[filePath] fieldName:fieldName boundary:boundary]; //params(NSDictionary) WILL BE YOUR PARAMETERS TO WEB SERVICE
[request setValue:[NSString stringWithFormat:@"%lu",(long)[request.HTTPBody length]] forHTTPHeaderField:@"Content-Lenght"];
+0
Diese Frage ist vermerkt mit "swift". Ihre Lösung hat möglicherweise einen Wert, ist aber nicht in der von OP angeforderten Sprache verfasst. Bitte geben Sie eine Antwort in Swift. Vielen Dank. – Moritz
1
Haben Sie jemals Alamofire versucht? Es unterstützt Datei-Upload. Hier
ist ein Beispiel für die Bildlast:
public func requestImage(url: String) -> SignalProducer<UIImage, NetworkError> {
return SignalProducer { observer, disposable in
let serializer = Alamofire.Request.dataResponseSerializer()
Alamofire.request(.GET, url)
.response(queue: self.queue, responseSerializer: serializer) {
response in
switch response.result {
case .Success(let data):
guard let image = UIImage(data: data) else {
observer.sendFailed(.IncorrectDataReturned)
return
}
observer.sendNext(image)
observer.sendCompleted()
case .Failure(let error):
observer.sendFailed(NetworkError(error: error))
}
}
}
}
Und dies ist einer des Beispiels für async image load.
Verwandte Themen
- 1. MultipartEntityBuilder zum Senden von Bildern an den Gleisserver
- 2. Ordnungsgemäße Methode zum Übergeben der Konfiguration an Redux-Aktions-Ersteller
- 3. Ordnungsgemäße Methode zum Debuggen der Watchos2-App in XCode7
- 4. Ausgabe von AVCaptureSession in Swift zum Senden an den Server
- 5. Best Practice Senden von Benutzername und Passwort an den Server von der App
- 6. Ordnungsgemäße Methode zum Senden von Daten bei Verwendung von select() und write_fds in C
- 7. Die beste Methode zum Speichern von Bildern in der ios App?
- 8. Pfad im Server zum Speichern von Bildern
- 9. REST API Senden von Bildern an Anfragen
- 10. Ordnungsgemäße Methode zum Ersetzen von Text im E4X-Element
- 11. Ordnungsgemäße Methode zum Speichern und Weiterleiten von Daten zwischen Klassen
- 12. Ordnungsgemäße Methode zum zeitgesteuerten WCF-Dienstanruf
- 13. Die beste Methode zum Senden von Informationen von einem clientseitigen Ruby-Skript an eine Rails-App?
- 14. Senden von Nachrichten von Facebook App an den Benutzer
- 15. Senden von base64-codierten Bildern an den Server mit HttpUrlConnection Android
- 16. Deaktivieren der Schaltfläche zum Senden von Bildern funktioniert nicht
- 17. Senden von Bildern mit Http Post
- 18. Abfangen der Anfrage von einer iOS-App an einen Service senden, von Python und Appium
- 19. Senden einer iOS 5.1 App an den App Store von einem SL-Computer mit Xcode 4.2
- 20. create chrome extension zum Senden von Daten an localhost Server
- 21. senden Daten an den Server mithilfe von https mit CURL
- 22. Senden von Streaming-Video- und Audiodaten an den Server?
- 23. Senden von Wert und Datei von der Ansicht an den Controller von Ajax-Methode
- 24. Senden von Standortaktualisierungen an den Server In Android
- 25. Senden/Empfangen von Bildern mit Socket
- 26. Linux-Tool zum Senden von Rohdaten an einen TCP-Server
- 27. Senden von Quellcode an einen externen Server
- 28. Anzeigen von Bildern in der AIR-App
- 29. Datei von Java an Web2py-Server senden
- 30. Java: Ordnungsgemäße Methode zur Erstellung von Verzeichnissen
Das Senden von Bildern über base64 ist nicht ratsam, es dauert sehr lange, um hochgeladen zu werden. Verwenden Sie Multipart zum Hochladen. Gehen Sie über diesen Link http://stackoverflow.com/questions/29623187/upload-image-with-multipart-form-data-ios-in-swift – Madhu
Sie können Bilder mit Multipart-Format senden. –