2011-12-23 41 views
1

我嘗試從iphone應用程序上傳圖像到我的webservice。 web服務在php中編程。我必須將圖像和device_id一起作爲多部分/表單數據發送。服務器不接受我的multipart/form-data

由於服務器不接受我的device_id(無效格式),所以我的請求出了問題。我100%肯定device_id是正確的,因爲它適用於我的其他請求。

我認爲我的請求結構有問題,因爲Charles代理無法解碼多部分表單數據。

這裏是我的要求(與查爾斯代理嗅探):

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-- 
+0

你得到什麼錯誤? – 2011-12-23 18:52:45

回答

1

有很大的封裝發佈表單/數據。它是ASIHTTPRequest

請看ASIFormData

感謝/

+0

只是警告,ASI不再被維護,並且不兼容ARC。雖然它仍然很棒,但如果你剛剛開始一個項目,你可能想要尋求NSURLRequest/NSConnection的其他包裝類。 – MishieMoo 2011-12-23 18:54:19

+1

@MishieMoo嗨,是的,它不是ARC兼容的,很可能你知道你仍然可以在帶有標誌的ARC項目中使用它-fno-objc-arc,它就像一個魅力。謝謝。 – mohacs 2011-12-23 18:57:50

+0

謝謝我在他們的源代碼中發現了我的bug:邊界必須是:255141413922088 – 2011-12-23 20:16:00