我正在创建一个用于聊天的应用程序。现在我想以 JSON 字符串形式将 UIImage 发送到服务器,以便其他用户可以接收图像。我正在使用 socket.io,所以我必须发送带有数据(JSON 字符串)的事件。
问题 - 当我尝试将 UIImage 转换为 NSData 并将其转换为 JSON 时,会出现错误“JSON 写入中的类型无效 (NSConcreteMutableData)”。
将 UIImage 发送到服务器的正确方法是什么?
代码
NSData *imgData = UIImageJPEGRepresentation(image, .2);
NSString * imageString =[[NSString alloc]initWithBytes:[imageData bytes] length:[imageData length] encoding:NSASCIIStringEncoding];
也尝试过
NSString * imageString =[[NSString alloc]initWithData :imgData encoding:NSUTF8StringEncoding];
将数据转换为字典:
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:imgData options:NSJSONReadingAllowFragments error:&error];
如有任何帮助,我们将不胜感激。
最佳答案
一般方法是对图像数据进行 Base64 编码。这样图像数据就被转换为字符串格式而不是二进制。
自 iOS 7 NSData
开始,您可以使用 Base64 转换方法来代替当前尝试的与字符串之间的转换。
关于ios - 更改 UIImage 类以发送到 iOS 中的 node.js 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34061196/