如何在iPhone应用程序的composer表中添加图像
我正在使用iPhone内置的composer在我的应用程序中发送电子邮件。我想在邮件正文中添加图片。请记住,我想把图片放在身体里,不想把图片附加到电子邮件里。我知道如何连接它们 这就像我想在身体中放置多个图像,并在相应的图像前面为它们添加一些细节 有没有办法做到这一点 与使用html一样,下面的代码显示一个问号而不是图像如何在iPhone应用程序的composer表中添加图像,iphone,email,Iphone,Email,我正在使用iPhone内置的composer在我的应用程序中发送电子邮件。我想在邮件正文中添加图片。请记住,我想把图片放在身体里,不想把图片附加到电子邮件里。我知道如何连接它们 这就像我想在身体中放置多个图像,并在相应的图像前面为它们添加一些细节 有没有办法做到这一点 与使用html一样,下面的代码显示一个问号而不是图像 NSData *imageData = [dbPersistenceObj getImageForEmail:[[imageIdArray objectAtIndex:i] i
NSData *imageData = [dbPersistenceObj getImageForEmail:[[imageIdArray objectAtIndex:i] intValue]];
NSString *encodedImage = [imageData description];
emailBody = [emailBody stringByAppendingFormat:@"<img src=\"cid:Img-1\"/>", imageData];
[picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"Img-1"];
NSData*imageData=[dbPersistenceObj getImageForEmail:[[imagedarray objectAtIndex:i]intValue];
NSString*encodedImage=[imageData描述];
emailBody=[emailBody stringByAppendingFormat:@',imageData];
[picker addAttachmentData:imageData模拟类型:@“image/png”文件名:@“Img-1”];
经过一些实验后编辑
我原来的答案实际上并不是这个问题的答案。似乎使用MFMailComposeViewController
无法使用cid:
语法引用HTML电子邮件正文中的附加图像
如果在设置HTML正文后附加图像,iPhone将在内部使用cid:
显示图像,但仅以通常在composer视图中显示图像的方式显示图像,因此它没有那么灵活
最后,可以使用数据:image/png;base64,
但这似乎并没有得到电子邮件客户端的广泛支持,特别是在GMail中它并没有优雅地失败
原始答案:
注意:我还没有试过这个
假设您正在iPhone SDK 3.0+中使用MFMailComposeViewController:您可以尝试创建HTML格式的电子邮件正文,并从该HTML文档中引用附加的图像
HTML
...
<img src="cid:content-id"/> <!-- 'cid:' is important -->
...
你能帮我更多的忙吗?我正在使用下面的代码,但看到的是一个“?”标记而不是图像。NSData*imageData=[dbPersistenceObj getImageForEmail:[[imagedarray objectAtIndex:i]intValue];NSString*encodedImage=[imageData描述];emailBody=[emailBody stringByAppendingFormat:@',imageData];[picker addAttachmentData:imageData模拟类型:@“image/png”文件名:@“Img-1”];是的,我试过了,但是sdk3.0中内置的MailComposer无法使用。就像它确实显示图像一样,但在点击发送按钮时,代码会中断,并在调试器中留下“未找到图像”错误消息。
...
[mailController addAttachmentData:pngData
mimeType:@"image/png"
fileName:@"content-id"];
[mailController setMessageBody:html isHTML:YES];
...