繁体   English   中英

UIImage Base64编码和Web服务问题-iOS

[英]UIImage Base64 Encoding and web service issue - IOS

我已使用Base64 ENCODING将图像发送到REST Web服务,但是在Web服务端打开时,显示为黑色?

我的代码如下所示:

UIImage *image1;

NSString *encodedstring;

NSData *imagedata =UIImageJPEGRepresentation(image1, 1.0f);

encodedstring = [imagedata base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

为什么不使用图像名称启动image1。 似乎image1不包含任何图像。 为了进行测试,请尝试:

UIImage *image1 = [UIImage imageNamed:@"some image file name"];

您可能需要使用NSLog编码的字符串并在此处进行测试: http ://www.freeformatter.com/base64-encoder.html这样,您可以看到在发送到服务器之前,图像的base64字符串实际上已转换。

我在发送字符串时使用URL编码+%2B解决了这个问题。 用%2B替换+会有所帮助。 您的服务器端代码将自动将%2B替换为+

实际上,这里发生的是当我们尝试使用URL连接发送base64字符串时,字符串中的每个+都被替换为空格。 这会使字符串无效,从而导致图像变黑。

希望这可以帮助! 干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM