2
Я пытаюсь опубликовать изображение на своем сервере с помощью RestKit и ответа на карту с сервера. Но сервер всегда обратно тот файл, который я отправляю, равен нулю. Может ли кто-нибудь помочь мне в этом вопросе?ios RestKit post прикреплен UIImage
NSData *data = UIImageJPEGRepresentation(imageData, 1.0);
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:
data, @"avatar",
nil];
RKObjectMapping* objectMapping = [RKObjectMapping mappingForClass:[UpdateAvatar class]];
[objectMapping addAttributeMappingsFromDictionary:@{
@"message" : @"message"
}];
NSIndexSet *successStatusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful);
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:objectMapping
method:RKRequestMethodPOST
pathPattern:nil
keyPath:nil
statusCodes:successStatusCodes];
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[self defineBaseUrl]];
[[objectManager HTTPClient] setDefaultHeader:@"device_uid" value:[self getDeviceUid]];
[RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"image/jpeg"];
[objectManager setAcceptHeaderWithMIMEType:@"multipart/form-data"];
[objectManager setRequestSerializationMIMEType:RKMIMETypeJSON];
objectManager.requestSerializationMIMEType = RKMIMETypeJSON;
[objectManager addResponseDescriptor:responseDescriptor];
[objectManager postObject:nil path:@"/api/upload-avatar" parameters:params success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
NSLog(@"%@", mappingResult.array);
for (UpdateAvatar *obj in mappingResult.array) {
NSLog(@"MESSAGE: %@", obj.message);
[[DataManager sharedManager] setMessage:obj.message];
}
[SVProgressHUD showSuccessWithStatus:@"Profile Picture Updated"];
//[[NSNotificationCenter defaultCenter] postNotificationName:@"didRegistered" object:nil];
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
}];
Как сервер рассчитывает получить данные изображения точно? – Wain
@Wain Спасибо :) решил. написал мой ответ ниже :) – Anton