ios - 更改 UIImage 类以发送到 iOS 中的 node.js 服务器?

标签 ios objective-c json node.js uiimage

我正在创建一个用于聊天的应用程序。现在我想以 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/

相关文章:

objective-c - UITableViewCell 不可选择,而它的accessoryView 可选择

ios - 将数据从 ViewControllerA 传递到 ViewControllerB(QuickDialog)

ios - 在选择时从自定义 UITableViewCell 中检索对象

objective-c - 如何将 NSMutableArray 传递给另一个 ViewController 类

javascript - 向作用域变量 AngularJS 插入和读取 JSON 数据

iphone - iOS - 动态按钮

objective-c - 改善分段 UITableView 的加载时间

ios - 辞职键盘时在 iOS 中调整 View 我做错了什么

php - 从两个表创建自定义 json 数组

java - 验证Redis(Jedis)的键值是否为JSON