Estoy utilizando RestKit para impulsar las interacciones con mi servidor web. Intento utilizar el enrutamiento para PUBLICAR un objeto Evento al servidor con una imagen adjunta. El código es el siguiente:RestKit Image Upload
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;
}];
Si creo una instancia de RKParams utilizando el objeto de evento en serie, a continuación, añadir los datos de imagen y asignarla como propiedad del RKObjectLoader de params, todas las propiedades se convierten en una cadena serializada masiva. Debe haber una forma de cargar una imagen sin la serialización masiva de cadenas.
También he intentado tener una propiedad NSData que esté mapeada a algún atributo, convirtiendo un UIImage en NSData en el camino, pero RestKit se queja de que no se puede mapear. ¿Alguien ha hecho esto antes?
Funciona perfectamente! Solo una nota al margen: tratar de delimitar todo hasta "evento" configurando la propiedad rootKeyPath de RKObjectMapping ya no parece funcionar. – Jacob
¿Funciona esto en iOS 6? Sigo recibiendo un "RestKit se le pidió que retransmita una nueva corriente del cuerpo para una solicitud. ¿Posible error de conexión o desafío de autenticación?" –