Загрузка изображения RestKit

Я использую RestKit для управления взаимодействием с моим веб-сервером. Я пытаюсь использовать маршрутизацию для POST объекта Event на сервер с прикрепленным к нему изображением. Код выглядит следующим образом:

  RKObjectManager *manager = [RKObjectManager sharedManager];

  RKObjectMapping *map = [self eventMapping];
  manager.serializationMIMEType = RKMIMETypeFormURLEncoded;
  map.rootKeyPath = @"event";
  [manager.mappingProvider setSerializationMapping:map forClass:[Event class]];
  [manager.router routeClass:[Event class] toResourcePath:@"/v1/events.json" forMethod:RKRequestMethodPOST];

  [manager postObject:event delegate:self block:^(RKObjectLoader *loader){
    RKObjectMapping *serMap = [[[RKObjectManager sharedManager] mappingProvider] serializationMappingForClass:[Event class]];
    NSError *error = nil;
    NSDictionary *d = [[RKObjectSerializer serializerWithObject:event mapping:serMap] serializedObject:&error];

    RKParams *p = [RKParams paramsWithDictionary:d];
    [p setData:[event imageData] MIMEType:@"image/jpeg" forParam:@"image"];
    loader.params = p;
  }];

Если я создаю экземпляр RKParams, используя сериализованный объект Event, затем добавляю данные изображения и назначаю их как свойство params RKObjectLoader, все свойства становятся одной массивной сериализованной строкой. Должен быть способ загрузить изображение без массивной сериализации строк.

Я также пробовал иметь свойство NSData, которое сопоставлено с некоторым атрибутом, попутно преобразовывая UIImage в NSData, но RestKit жалуется, что это не может быть сопоставлено. Кто-нибудь делал это раньше?

10
задан Jacob 8 December 2011 в 21:48
поделиться