在iOS7中编码UIImage并在Java(Base64)中解码
我正在尝试将UIImage(从iPhone的摄像头拍摄)发送到Java服务器,并将其显示在JFrame中 这可能与编码选项有关,因为Xcode和Eclipse中的字符串略有不同。xCode字符串有“+”表示空格,但在Eclipse中,它有“”表示空格 在Objective-C中在iOS7中编码UIImage并在Java(Base64)中解码,java,ios,swing,uiimage,Java,Ios,Swing,Uiimage,我正在尝试将UIImage(从iPhone的摄像头拍摄)发送到Java服务器,并将其显示在JFrame中 这可能与编码选项有关,因为Xcode和Eclipse中的字符串略有不同。xCode字符串有“+”表示空格,但在Eclipse中,它有“”表示空格 在Objective-C中 UIImage *image = info[UIImagePickerControllerEditedImage]; NSData *imageData = UIImagePNGRepresentation([temp
UIImage *image = info[UIImagePickerControllerEditedImage];
NSData *imageData = UIImagePNGRepresentation([temp objectForKey:@"photo"]);
NSString *base64StringOfImage = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
然后,我将这个json格式的NSString发送到Java
在Java中
byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo"));
BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageBytes));
我在BuffereImage img行中遇到此错误:
javax.imageio.IIOException: Error reading PNG image data
如果有人能告诉我如何解决这个问题,那就太好了。我知道了
byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));
我想出来了
byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));
我可以知道你用的是哪个Base64类吗?我在java 7中找不到Base64类。我可以知道您使用的是哪个Base64类吗?我在java 7中找不到Base64类。