Ich habe meinen Code auf Swift 3 aktualisiert und habe Probleme mit der Migration zu Alamofire 4.0. Ich habe den Migrationsleitfaden von Alamofire verwendet, um die meisten erforderlichen Änderungen erfolgreich durchzuführen, habe aber immer noch Probleme beim Abrufen von Bilddaten.Holen Sie sich Bilddaten mit Alamofire Anfrage
Der alte Swift 2/Alamofire 3 Code (wie beabsichtigt funktioniert):
func beginGetImageRequest() {
if let imagePath = thumbPath {
request = Alamofire.request(.GET, imagePath).response(completionHandler: { (_, _, imageData, error) -> Void in
if error != nil {
NSLog("Error downloading thumbnail image: \(error)")
} else {
if let downloadedImage = UIImage(data: imageData!) {
self.imageView.image = downloadedImage
}
}
})
}
}
Mein Versuch Alamofire zu Aktualisierung 4:
func beginGetImageRequest() {
if let imagePath = thumbPath {
request = Alamofire.request(imagePath, method: .get, parameters: [:], encoding: JSONEncoding.default)
.validate { request, response, imageData in
if let downloadedImage = UIImage(data: imageData!) {
self.imageView.image = downloadedImage
} else {
print(response)
print(imageData)
}
return .success
}
}
}
print(imageData)
Ausgänge Optional(306 bytes)
. Das Bild sollte etwa 40 kb groß sein, was mir sagt, dass das Problem darin besteht, wie ich eine Anfrage umsetze und nicht, wie ich die Daten in ein UIImage umwandele. Hier
ist der Ausgang für print(response)
<NSHTTPURLResponse: 0x618000221660> { URL: http://209.126.98.238/cache/igames_thumb/images/games/53848027743af.jpeg } { status code: 400, headers {
Connection = close;
"Content-Encoding" = gzip;
"Content-Length" = 245;
2016-10-04 21:54:53.653480 EyeGames[74216:3416747] [] nw_connection_send_stats_report 21 Generated report:
Delegated: 0
Report reason: app data stall
TCP statistics report:
Time to DNS start: 0 ms
Time to DNS resolved: 0 ms
DNS resolved time: 0 ms
DNS answers cached: 0
Interface type: 1
Time to TCP start: 3 ms
Time to TCP establishment: 223 ms
Connection establishment: 220 ms
Flow duration: 11447 ms
Connected interface type: 1
Connected: 1
Traffic class: 0
Cellular fallback: 0
Cellular RRC connected: 0
Kernel reported stalls: 0
Kernel reported connection stalls: 0
Kernel reported read stalls: 0
Kernel reported write stalls:
"Content-Type" = "text/html; charset=iso-8859-1";
Date = "Tue, 04 Oct 2016 18:54:43 GMT";
Server = "Apache/2.2.22 (Debian)";
Vary = "Accept-Encoding";
} }
Aufruf Und was die Antwort enthält? Sie sollten dort anfangen – Godfather
@Godfather Redigiert meine Frage, um die Ausgabe von der Antwort –
aufzunehmen Sie erhalten 400 Fehlercode. Ihre Anfrage ist fehlerhaft. Versuchen Sie, die Codierung in URL zu ändern – Godfather