Ios RestKit 0.20-使用patchObject并传递图像附件

Ios RestKit 0.20-使用patchObject并传递图像附件,ios,objective-c,restkit-0.20,Ios,Objective C,Restkit 0.20,根据我发现的示例(很少),我使用以下方法执行patchObject调用: 。。。但我还需要传递一个图像。添加图像参数的常用方法是将其添加到请求中,然后将其分配给要使用的操作,即: request = [[RKObjectManager sharedManager] multipartFormRequestWithObject:user method:RKR

根据我发现的示例(很少),我使用以下方法执行patchObject调用:

。。。但我还需要传递一个图像。添加图像参数的常用方法是将其添加到请求中,然后将其分配给要使用的操作,即:

request = [[RKObjectManager sharedManager] multipartFormRequestWithObject:user
                                                                       method:RKRequestMethodPOST
                                                                         path:@"profile"
                                                                   parameters:nil
                                                    constructingBodyWithBlock:^(id<AFRKMultipartFormData> formData) {
                                                        [formData appendPartWithFileData:UIImagePNGRepresentation(self.photoImageView.image)
                                                                                    name:@"user[avatar]"
                                                                                fileName:@"photo.png"
                                                                                mimeType:@"image/png"];
                                                    }];
RKManagedObjectRequestOperation *operation = [[RKManagedObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor, errorDescriptor]];
operation.managedObjectContext = [RKManagedObjectStore defaultStore].mainQueueManagedObjectContext;
operation.managedObjectCache = [RKManagedObjectStore defaultStore].managedObjectCache;
// etc...
request=[[RKObjectManager sharedManager]multipartFormRequestWithObject:用户
方法:RKRequestMethodPOST
路径:@“配置文件”
参数:零
构造体WithBlock:^(id formData){
[formData appendPartWithFileData:UIImagePNGRepresentation(self.photoImageView.image)
名称:@“用户[化身]”
文件名:@“photo.png”
mimeType:@“image/png”];
}];
RKManagedObjectRequestOperation*操作=[[RKManagedObjectRequestOperation alloc]initWithRequest:request-responseDescriptors:@[responseDescriptor,errorDescriptor]];
operation.managedObjectContext=[RKSManagedObjectStore defaultStore].mainQueueManagedObjectContext;
operation.managedObjectCache=[RKSManagedObjectStore defaultStore].managedObjectCache;
//等等。。。
由于patchObject方法无法定义正在使用的操作(或请求),因此我看不出如何将图像数据添加到API调用中

以前允许在执行patchObject时在块内定义图像的可用方法似乎不再存在于RestKit中

有什么想法吗?如果您能给我一些建议,我将不胜感激

提前感谢。

+(void)PostMutlipPartData:(NSString*)urlStr:(NSDictionary*)参数:(NSData*)数据:(void(^)(NSDictionary*响应\成功))成功:(void(^)(NSError*响应\错误))失败{
+(void)postMutliPartData : (NSString *)urlStr : (NSDictionary *)parameters : (NSData *)data : (void(^)(NSDictionary * response_success))success : (void(^)(NSError * response_error))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", nil];
[manager POST:urlStr parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
 {
     [formData appendPartWithFileData: data name:@"image" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];

 } progress:nil success:^(NSURLSessionTask *task, id responseObject) {

     NSLog(@"%@",responseObject);
      success(responseObject);

 } failure:^(NSURLSessionTask *operation, NSError *error) {
     failure(error);
 }];    
}
AFHTTPSessionManager*manager=[AFHTTPSessionManager-manager]; manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@“application/json”,nil]; [管理员职位:urlStr参数:参数constructingBodyWithBlock:^(id formData) { [formData appendPartWithFileData:数据名称:@“image”文件名:@“temp.jpeg”mimeType:@“image/jpeg”]; }进度:无成功:^(NSURLSessionTask*任务,id响应对象){ NSLog(@“%@”,响应对象); 成功(响应对象); }失败:^(NSURLSessionTask*操作,NSError*错误){ 失败(错误); }]; }
@RobertTurrall:看着rajat给出的其他答案,似乎他只是对任何问题随机给出答案。@vikingosegundo显然是这样,是的。这当然不会让我更接近解决方案!
+(void)postMutliPartData : (NSString *)urlStr : (NSDictionary *)parameters : (NSData *)data : (void(^)(NSDictionary * response_success))success : (void(^)(NSError * response_error))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", nil];
[manager POST:urlStr parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
 {
     [formData appendPartWithFileData: data name:@"image" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];

 } progress:nil success:^(NSURLSessionTask *task, id responseObject) {

     NSLog(@"%@",responseObject);
      success(responseObject);

 } failure:^(NSURLSessionTask *operation, NSError *error) {
     failure(error);
 }];    
}