使用RestKit 0.2x将文件作为单部分文档发布

时间:2014-10-31 17:44:37

标签: objective-c json restkit-0.20

我想使用RestKit 0.23.3发布文件。

我尝试了一些方法

RKObjectManager multipartFormRequestWithObject:method:path:parameters:constructingBodyWithBlock:

但这不是我想要的。 我需要将文件作为单个部分请求发布。

POST /some_url HTTP/1.1
Host: ...
User-Agent: ...
Accept: application/json
Accept-Encoding: gzip, deflate
Content-Type: text/plain
Content-Length: 8

test123

我正在尝试通过RestKit发出此请求,因为服务器返回一个JSON对象作为响应。

我还发现discussion建议以下

NSData *data = UIImageJPEGRepresentation(photo, 0.75);
RKRequestSerialization *serialization = [RKRequestSerialization serializationWithData:data MIMEType:@"image/jpeg"];
[[RKClient sharedClient] put:resourcePath params:serialization delegate:self];

但是,此代码段似乎仅适用于较旧版本的RestKit。是否有与RestKit 0.2x相同的代码?

如果自动检测到MIMEType,那就没问题。我的输入是NSURL的一个实例(从iCloud导入的文件)。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

创建要发送的数据并使用它来创建NSURLRequest。您需要完成所有工作才能做到这一点,但因为您的数据是一个应该不费力的文件。然后从对象管理器中使用objectRequestOperationWithRequest:success:failure:managedObjectRequestOperationWithRequest:managedObjectContext:success:failure:创建对象请求操作并将其排入队列。

通过这种方式,RestKit将发送您的请求并处理任何响应(假设您已配置响应描述符等)。