Ich aktualisiere einen alten Anwendungscode, der ASIHTTPRequest
mit AFNetworking
verwendet. In meinem Fall sende ich eine Datenbank an API
, diese Daten sind verschiedene Arten: Bild und andere.senden Bild zusammen mit anderen Parametern mit AFNetworking
Hier ist der Code, den ich bisher übernehmen, eine API-Client-Implementierung, eine gemeinsame Instanz anfordert, das params Wörterbuch erstellen und an Remote-API senden:
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setValue:@"Some value" forKey:aKey];
[[APIClient sharedInstance]
postPath:@"/post"
parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
//some logic
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//handle error
}];
Was wäre der Fall sein, wenn ich will ein Bild zum params
Wörterbuch hinzufügen?
Mit ASIHTTPRequest
, habe ich folgendes zu tun:
NSData *imgData = UIImagePNGRepresentation(anImage);
NSString *newStr = [anImageName stringByReplacingOccurrencesOfString:@"/"
withString:@"_"];
[request addData:imgData
withFileName:[NSString stringWithFormat:@"%@.png",newStr]
andContentType:@"image/png"
forKey:anOtherKey];
I digged in AFNetworking
Dokumentation und fanden sie in einem NSMutableRequest
wie dies das Bild angehängt:
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];
Wie soll ich diese mischen zusammen auf eine nette Weise, meine Bilddaten in die APIClient
Anfrage zu integrieren? Danke im Voraus.
Hallo, wo setzen Sie die 'key' für das Bild? Danke. – Malloc
@ "Bild" ist der Schlüssel für jedes Bild, das Sie hochladen möchten. –
Hilft es Ihnen? –