我试图从我的iphone应用程序上传一个图片到我的webservice。webservice是用php编程的。我必须将图像和设备id一起作为多部分/表单数据发送。
我的请求有问题,因为服务器不接受我的设备ID(无效格式)。我百分之百肯定设备ID是正确的,因为它可以处理我的其他请求。
我认为我的请求结构有问题,因为charles proxy无法解码多部分表单数据。
这是我的请求(用查理斯的代理嗅了嗅):

POST /api/profile/update HTTP/1.1
Host: THE_URL
User-Agent: SeduceMe/1.0 CFNetwork/548.0.3 Darwin/11.2.0
Content-Length: 6639
Accept: */*
Content-Type: multipart/form-data; boundary=---------------------------255141413922088
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=tlcpnqugcpgs0skh3l2ip9ujh7
Connection: keep-alive
Proxy-Connection: keep-alive

---------------------------255141413922088
Content-Disposition: form-data; name="device_id"

mgs2AHyvfIcSXHSKE+0eHA==
---------------------------255141413922088
Content-Disposition: form-data; name="form[file]"; filename="avatar.jpg"
Content-Type: image/jpeg

RAW_JPEG_DATA
---------------------------255141413922088--

最佳答案

有一个很好的包装器可以发布表单/数据。是ASIHTTPRequest
请看asiformdata
谢谢/

10-08 05:32
查看更多