在此先感謝您的任何幫助。我正在使用僅使用json有效內容的Web服務,並且此服務已設置爲提交照片。正確的方式嵌入json有效載荷base64與網絡
所以我想弄清楚在JSON有效載荷中嵌入圖像的正確方法。這是我的方法。
//convert image to nsdata
NSData *originalPhoto = UIImageJPEGRepresentation(self.photo.image,.9);
//convert the data to a base64 string using NSData+Base64 category extension (Matt Gallagher version)
NSString *base64photoString = [originalPhoto base64EncodedString];
//set the string in a NSDictionary
[info setValue:base64photoString forKey:@"data"];
//then pass it to AFNetworking using the httpClient
一切似乎工作,我得到json有效載荷。注意:bas64字符串在帖子正文中結束。
是否有人知道如果一個URI需要嵌入到數據的前面 - 如下所示:「file」:「data:image/jpg; base64,[base64 string]」 - 我做過試試這個,但沒有得到任何愛Web服務,但我可能有語法錯誤。
但是,網絡服務並不喜歡它。
爲了驗證編碼,我將生成的字符串從nslog中剪下來,並將其粘貼到在線解碼器網站中,並重新創建原始圖像 - 因此看起來數據編碼正確。
在我可以與Web服務器管理員交談之前兩天,所以我只是在尋找驗證這是一種正確的方法,或者請指出任何缺陷。我無法將服務更改爲多部分編碼形式,我堅持使用這種方法。
再次感謝
你確定圖像本身應該放入JSON嗎?任何合理工作的WS我知道只用於元數據,實際的數據是在POST主體。 – 2012-08-05 05:18:39
感謝您的回覆。它確實作爲json領域之一進入身體。我已經更新了有關URI的問題。 – CocoaEv 2012-08-05 12:59:40