java - 在 iOS7 中编码 UIImage 并在 Java 中解码(Base64)

标签 java ios swing uiimage

我正在尝试将 UIImage(从 iPhone 的相机拍摄)发送到 Java 服务器并在 JFrame 中显示它。

这可能与编码选项有关,因为 Xcode 和 Eclipse 中的字符串略有不同。前任。 xCode 字符串用“+”表示空格,但在 Eclipse 中,它用“”表示空格。

在 Objective-C 中

UIImage *image = info[UIImagePickerControllerEditedImage];
NSData *imageData = UIImagePNGRepresentation([temp objectForKey:@"photo"]);
NSString *base64StringOfImage = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

然后我将这个 NSString 在 json 中发送给 Java

在 Java 中

byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo"));
BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageBytes));

我在 BufferedImage img 行上收到此错误:

javax.imageio.IIOException: Error reading PNG image data

如果有人能告诉我如何解决这个问题,那就太好了。

最佳答案

我想通了。

byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));

关于java - 在 iOS7 中编码 UIImage 并在 Java 中解码(Base64),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21802755/

相关文章:

java - Java中简单的多色文本

java - 迭代器是否给我一个深拷贝?

iphone - CGPDFScannerPopString 返回奇怪的结果

ios - CABasicAnimation 起源于右上角而不是中心

java - 在 GridBagLayout 中动态更改组件权重

java - 图形 2d 对象的引用在孤立线程中不起作用

java - 如何在独立的 Java 应用程序中有效地实现单例监听器?

java - 谷歌应用程序引擎的移动后端启动器中的源代码错误---Android客户端

java - 拆分字符串、对其进行平面映射并使用 Java 流创建对象?

ios - iPhone 可以有 "None"位置 - 开启 GPS