编辑NSURLRequest以将图像放入其中

时间:2014-05-30 09:36:52

标签: ios objective-c http uiimage nsurlrequest

我的应用程序中有一个Web视图,它向服务器发送请求,其中包含用户回答的轮询结果。我需要编辑该请求并向其添加UIImage(它不会作为文件保存在我的设备上的任何位置)。我在webView:shouldStartLoadWithRequest:navigationType:中捕获了请求,然后我认为最好的办法就是编辑httpbody。为了让我更容易,负责这个应用程序服务器端的人在poll html中添加了一个隐藏按钮,因此请求的http正文有一个图像字段。该字段当然是空的,因为用户甚至无法看到按钮并自己选择图像。

这是request.httpBody的一部分(用utf-8解码)。

------WebKitFormBoundaryAe9BONo6gQNiuApf

Content-Disposition: form-data; name="photo"; filename=""

Content-Type: application/octet-stream





------WebKitFormBoundaryAe9BONo6gQNiuApf

我应该如何向此请求添加图像以使服务器仍然可以理解?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。如果有人再次遇到同样的问题,请点击这里:

我将请求的httpBody解码为UTF-8字符串,找到" application / octet-stream"的范围,然后再去4个字符,结果是我所在的索引将我的图像放入。我将httpBody字符串分为两部分:第一部分是图像之前的所有内容,第二部分是图像之后的所有内容。我将第一部分编码为NSData,追加我的UIImage的UIImageJPEGRepresentation,然后我追加编码的第二部分字符串。我将结果设置为请求的httpBody并自行启动,在webView:shouldStartLoadWithRequest:navigationType:中返回NO。