2

我目前正在使用 MFMailComposer 撰写 HTML-Mail。背景颜色等一切都工作得很好,我什至可以嵌入位于在线 URL 下的内嵌图像。但是当我想嵌入一个本地存储的 UIImage 时,一切都搞砸了。因此,我将数据转换为 base64 并使用图像标签,如下所示

<img src='data:image/png;base64,%@'>

在设备上的预览中,所有内容都正确显示,但是在我的计算机上的邮件应用程序中只有占位符问号图像,当我查看邮件的来源时,似乎所有发送的是

<img src="cid:(null)">

此外,我能够成功地在设备上记录 base64 编码数据,它只是无法到达服务器或从那里向下传输。附加图像不是解决方案,因为我需要将图像内联而不是在邮件末尾:(

更新:

这是我用来将图像嵌入到 HTML 内联中的行:

[body appendFormat:@"<p><b><img src='data:image/png;base64,%@'/></b></p>",[[NSData dataWithData:UIImagePNGRepresentation([dict objectForKey:@"graphImage"])] base64EncodedString]];
4

3 回答 3

1

嵌入内联图像是不可能的(我已经花了几天的时间来解决这个问题)。

哦,我多么希望它是……

于 2012-03-12T09:35:56.933 回答
0

您是否使用以下内容:

NSString *emailBody = [NSString stringWithFormat:@"<img src='data:image/png;base64,%@' alt='testing' />",base64String];
[picker setMessageBody:emailBody isHTML:YES];
于 2012-03-08T18:35:39.773 回答
0

有可能的。iOS 发生了重大变化:base64 数据中不允许出现“新行”。

看到这个线程:Base64 HTML 嵌入的图像在邮寄时不显示

于 2015-05-03T20:29:19.973 回答