提前感谢您的帮助。我正在使用一个只接受 json 有效负载的 Web 服务,并且该服务是为提交照片而设置的。
所以我试图找出将图像嵌入到 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]” - 我确实尝试过但没有得到来自网络服务的任何爱,但是我可能有语法错误。
但是网络服务不喜欢它。
为了验证编码,我将生成的字符串从 nslog 中剪下来,并将其粘贴到在线解码器网站上,然后它会重新创建原始图像 - 因此看起来数据已正确编码。
几天后我才能与网络服务器管理员交谈,所以我只是在寻找验证这是一种正确的方法,或者请指出任何缺陷。我无法将服务更改为多部分编码形式,我坚持使用这种方法。
再次感谢