2011-05-17 78 views
0

我试图将来自iPhones照片库的UIImage转换为base64编码的字符串。我的问题是base64编码的字符串的输出不匹配我为在jpeg的在线base64编码器上创建的base64字符串。UIImage Base64编码失败

这是我的代码:

NSData *myAttachment = UIImageJPEGRepresentation(myImage, 1.0); 
NSString *base64encodedAttachment = [attachment base64EncodingWithLineLenght:76]; 

虽然“附着”是将是一个URL请求的一部分的字符串。 为什么base64代码与编码网站编码中的“正常”不匹配? UIImage或NSData有什么特别之处?

干杯

回答

2

它可能发生,当你调用UIImageJPEGRepresentation,因此它不等同于你已经上传到在线网站的JPEG图像UIImage重新编码。如果您希望100%确定base64编码器按预期工作,请将UIImageJPEGRepresentation以外的JPEG表示保存为JPEG文件,然后将该文件上传到联机工具,以获取base64表示以比较输出。

+0

你说得对,我测试了你的建议。但是,如何将NSdata转换回由jpeg提供的原始数据,否则我的网络服务器将无法识别图像编码。 – Flo 2011-05-17 15:22:50

+0

另外一个。我创建的NSData对象中的新文件的质量比原始文件的质量要低。是否有可能将质量设置为原始值? – Flo 2011-05-17 15:24:40

+0

JPEG不能这样工作。 – 2011-05-17 15:27:15

0

如果你要使用这个jpeg文件中mailComposer的消息体..然后我必须清除你的哥们......

不能使用mailComposer的mailbody内的本地图片,图像shud是可用的服务器上,并通过将相同的url在mailbody使用..

如果你想别的东西......我想说的后续“塔马斯” :)

+0

好的,这是我想要做的。我想要创建一个包含expample ... attachment = &number = 123456789 ...的网址主体流,等等。我错过了什么? – Flo 2011-05-17 15:31:26

+0

它不会工作的朋友..即使我已经花了2天搜索像DAT这样的东西...:/ 你必须使用html正文,并将身体内部的图像链接。 – Hisenberg 2011-05-17 15:37:59