ios - 如何获取图像的有效 base64 字符串

标签 ios objective-c xcode ios7

我使用以下代码获取图像的 base64 编码字符串:

UIImage *image = [photoView image];
NSString *encoded = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

图像是 800*800 像素,但生成的字符串太大,当我将其粘贴到文本框中时,浏览器崩溃了。我将它粘贴到 Dreamweaver 中以计算行数,它超过 300.000 行。这不可能是对的。如果我上传相同的图片到this site它生成一个大约 200 行的 base64 字符串。

如何在 objective-c 中生成“正常”base64 字符串?一个我可以实际使用的...

正如 Martin R 所建议的,我检查了 UIImagePNGRepresentation(image) 返回的数据长度,它是 4502370 字节。这可能是问题的一部分。会不会是在 UIImageView 中绘制图像并稍后像我正在做的那样检索它会返回屏幕尺寸的图像?

最佳答案

通过使用 NSDataBase64Encoding64CharacterLineLength,您可以将每行限制为 64 个字符(如文档中所写)。尝试:

NSString *encoded = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:0];

关于ios - 如何获取图像的有效 base64 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971719/

相关文章:

iphone - 从 tableviewcontroller 推送时的黑色背景

c++ - Xcode 4.5 问题与简单的 OpenGL C++ 代码

ios - Xcode 5 Interface Builder 设计的浅文本在 iOS 6 上显示为常规粗细

iOS 11 dropInteraction performDrop 文件

iphone - 您如何使用 Objective-C 让声音文件自动播放到 iOS 应用程序并循环播放?

objective-c - 邮件编辑器在 Xcode 中给出错误

iPhone:如何覆盖导航 Controller 中的后退按钮?

iphone - 关于 UIWindow 背景的问题

ios - SecKeyEncrypt kSecPaddingNone

ios - 无法打开,因为在ios中无法解析项目文件