我想使用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导入的文件)。
感谢您的帮助。
答案 0 :(得分:0)
创建要发送的数据并使用它来创建NSURLRequest
。您需要完成所有工作才能做到这一点,但因为您的数据是一个应该不费力的文件。然后从对象管理器中使用objectRequestOperationWithRequest:success:failure:
或managedObjectRequestOperationWithRequest:managedObjectContext:success:failure:
创建对象请求操作并将其排入队列。
通过这种方式,RestKit将发送您的请求并处理任何响应(假设您已配置响应描述符等)。