如何在iPhone的MFMailComposeViewController中将图像嵌入到html中

Ali*_*Ali 16 html iphone inline photo image

我想在html表中嵌入一堆小图像,我想用MFMailComposeViewController发送它.在做了一些搜索之后,我发现几乎所有人都建议使用"Matt Gallagher的NSData + Base64"类来编码Base64encoding中的照片并将其嵌入到html中.虽然它看起来适用于iPhone和一些电子邮件服务器,但Gmail和Yahoo不会以这种方式显示嵌入的图像.这里也提到这个问题.

我想知道是否有人有更好的解决方案.我不想在网上上传照片并将链接放在html代码中.我想将图像附加到电子邮件中,并在html文本,表格中显示为内嵌图像,...

Ben*_*tto 17

遗憾的是,目前无法以您想要的方式完成.HTML电子邮件中的内嵌图像使用单独的MIME部分,这些部分通过消息正文中的content-id引用.MFMailComposeViewController不允许您控制消息的MIME结构,也不允许您添加内联引用的内容部分.

将图像数据嵌入到<img>标签中作为base64可以在某些组合上工作 - 它部分是电子邮件客户端的功能,部分是最终用于呈现它的浏览器的功能,但正如您所注意到的,它不是广泛可移植的.

  • 似乎即使是邮件应用程序(似乎使用MFMailComposeViewController)也无法在文本中嵌入照片并将其作为附件发送.所以,你很可能是不可能的.多可惜!不管怎么说,还是要谢谢你. (3认同)

jbe*_*net 7

我不确定是否要添加HTML,但这是我如何添加图像作为附件:

UIImage *image = [UIImage imageNamed:@"myImage.png"];
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
composer.mailComposeDelegate = self;

NSData *data = UIImagePNGRepresentation(image);
[composer addAttachmentData:data mimeType:@"image/png" fileName:@"curse"];
[composer setMessageBody:@"" isHTML:NO];
[self presentModalViewController:composer animated:YES];
[composer release];
Run Code Online (Sandbox Code Playgroud)

现在您只需要将主体更改为HTML以及从HTML引用附加图像的方法.

  • 虽然这是你添加图像附件的方法,但问题实际上是在询问如何在HTML中引用附加的图像(这实际上是不可能的). (3认同)
  • "现在您只需要将主体更改为HTML,并从HTML中引用附加图像." 怎么样?这就是问题所在. (3认同)
  • 了解.这是值得的:我不确定解决问题的部分解决方案在这里有重要的地位.Stack Overflow是一个庞大的社区,几乎总有人知道答案.留下不完整的答案通常会增加噪音.(您可以随时对问题发表评论,以便澄清或添加一些信息,而无需提供完整的答案等) (2认同)