通过 RestKit 形成多部分请求

Posted

技术标签:

【中文标题】通过 RestKit 形成多部分请求【英文标题】:Forming Multi-part request through RestKit 【发布时间】:2015-05-06 08:19:21 【问题描述】:

这是我将多部分数据发布到服务器的代码。我观察到请求中只包含图像数据,而不是文章对象。请让我知道过去是否有人成功地完成了这些工作。提前致谢。

 RKObjectMapping *requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromArray:@[@"title", @"author", @"body"]];

RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping 
                                    objectClass:[Article class] rootKeyPath:@"article" method:RKRequestMethodAny];

[manager addRequestDescriptor:requestDescriptor];

Article *article = [Article new];
article.title = @"Introduction to RestKit";
article.body = @"This is some text.";
article.author = @"Blake";

NSMutableURLRequest *request = [objectManager multipartFormRequestWithObject:article
                                                                      method:RKRequestMethodPOST
                                                                        path:path
                                                                  parameters:nil
                                                   constructingBodyWithBlock:^(id<AFMultipartFormData> formData) 

                                                       [formData appendPartWithFileData:imageData
                                                                                   name:imageInfo
                                                                               fileName:imageName
                                                                               mimeType:@"image/jpeg"];

                                                   ];

RKObjectRequestOperation *operation1 = [objectManager objectRequestOperationWithRequest:request
                                                                               success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)


    // Process data
    NSLog(@"success");

 failure:^(RKObjectRequestOperation *operation, NSError *error) 

    // An error occurred
    NSLog(@"error");

];

【问题讨论】:

【参考方案1】:

使用 appendPartWithHeaders 解决了这个问题。 Source。 让我知道是否有人需要更仔细地查看实施。

【讨论】:

以上是关于通过 RestKit 形成多部分请求的主要内容,如果未能解决你的问题,请参考以下文章

通过 RestKit 或任何 HTTP 请求上传回形针照片

通过 NSURLconnection 为 ios Web 服务使用 Web 服务库(RESTKIT/ASIHTTP 请求)的优点

RestKit:在 didLoadResponse 中区分多个请求:

RestKit 网络限制在并行请求运行时阻止其他调用

UIImageView+AFNetworking 图像请求队列阻塞来自 RestKit 的其他网络请求

RestKit 在 PUT 请求时抛出 NSInternalInconsistencyException