我正在尝试将UIImage(取自iPhone的相机)发送到Java Server并将其显示在JFrame中。
它可能与Encoding Option有关,因为Xcode和Eclipse中的String略有不同。恩。 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
如果有人能告诉我如何解决这个问题,那就太棒了。
答案 0 :(得分:4)
我明白了。
byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));