NSMutableArray*mutableOperations=[NSMutableArrayarray];for(NSURL*fileURLinfilesToUpload){NSURLRequest*request=[[AFHTTPRequestSerializerserializer]multipartFormRequestWithMethod:@"POST"URLString:@"http://example.com/upload"parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData>formData){[formDataappendPartWithFileURL:fileURLname:@"images[]"error:nil];}];AFHTTPRequestOperation*operation=[[AFHTTPRequestOperationalloc]initWithRequest:request];[mutableOperationsaddObject:operation];}NSArray*operations=[AFURLConnectionOperationbatchOfRequestOperations:@[...]progressBlock:^(NSUIntegernumberOfFinishedOperations,NSUIntegertotalNumberOfOperations){NSLog(@"%lu of %lu complete",numberOfFinishedOperations,totalNumberOfOperations);}completionBlock:^(NSArray*operations){NSLog(@"All operations in batch complete");}];[[NSOperationQueuemainQueue]addOperations:operationswaitUntilFinished:NO];
Немного еще
Выше приведенные примеры используют стандартный AFJSONResponseSerializer – что значит ответ должен быть в формате JSON.
// Чтобы обрабатывать XMLAFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManagermanager];manager.responseSerializer=[AFXMLParserResponseSerializernew];// Или данныеmanager.responseSerializer=[AFHTTPResponseSerializernew];
AFNetworking очень строг с Content-Type (типом контента).
Поэтому, если ваш ответ типа “text/plain”, когда вы используете JSON serializer, можно поступить так:
Комментариев нет:
Отправить комментарий