使用 RestKit 0.2x 将文件作为单部分文档发布
Posted
技术标签:
【中文标题】使用 RestKit 0.2x 将文件作为单部分文档发布【英文标题】:POSTing file as a single-part document with RestKit 0.2x 【发布时间】:2014-10-31 17:44:37 【问题描述】:我想使用 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];
然而,这个 sn-p 似乎只适用于旧版本的 RestKit。 RestKit 0.2x 是否有任何等效代码?
如果 MIMEType 是自动检测的就好了。我的输入是 NSURL 的一个实例(从 iCloud 导入的文件)。
感谢您的帮助。
【问题讨论】:
【参考方案1】:创建您要发送的数据并使用它来创建NSURLRequest
。您需要完成所有工作才能做到这一点,但由于您的数据是一个文件,因此应该不费吹灰之力。然后使用您的对象管理器中的objectRequestOperationWithRequest:success:failure:
或managedObjectRequestOperationWithRequest:managedObjectContext:success:failure:
创建一个对象请求操作并将其加入队列。
这样,RestKit 将发送您的请求并处理任何响应(假设您已配置响应描述符等)。
【讨论】:
非常简单。我试图在 RestKit 中找到一些合适的方法,但忽略了我可以手动创建 NSURLRequest 的实例。谢谢。 :)以上是关于使用 RestKit 0.2x 将文件作为单部分文档发布的主要内容,如果未能解决你的问题,请参考以下文章
RestKit 0.2x 同时 RKManagedObjectRequestOperation
Restkit 0.20.x cocoapods 安装问题 - 编译但找不到 RestKit 的导入