【发布时间】:2013-02-10 16:31:37
【问题描述】:
是否可以将 NSData/UIImage 数据表示作为 JPEG 转换为字符串,通过 HTTP 发送到 PHP 文件以将此字符串保存在数据库中,然后稍后在应用程序中检索它并将其转换回一个 NSData/UIImage 对象?
我尝试过 Base64 编码库,但由于图像无法在 HTML 页面上正确显示,因此 base64 似乎无效。
有什么建议吗?
编辑。
我正在使用以下库:
http://www.imthi.com/blog/programming/iphone-sdk-base64-encode-decode.php
并按以下方式转换:
NSData *imageData = UIImageJPEGRepresentation(MyImage.image, 90);
[Base64 initialize];
NSData *encoded = [Base64 encode:imageData];
NSLog(@"%@",encoded);
这确实会大量使用 BASE64,但是当我将其保存到文件并尝试查看它时,我只是在 Chrome 中加载图像 [?] 时出错。
谢谢
【问题讨论】:
-
Base64 工作正常。事实上,当你做内联 HTML 图像时,它使用 Base64。你的尝试一定有问题。再试一次,如果你没有成功,用你的代码更新你的问题,我们会看看。
-
更新了上面的帖子
-
附带说明:不要将 img 数据存储为字符串。 b64 适合传输,但不利于存储
-
“编码”指针引用的对象应该是NSString,而不是NSData。
-
直接将图像转换为 NSData。我们可以像我回答的那样使用。
标签: iphone ios objective-c xcode base64