Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iPhone应用程序的composer表中添加图像_Iphone_Email - Fatal编程技术网

如何在iPhone应用程序的composer表中添加图像

如何在iPhone应用程序的composer表中添加图像,iphone,email,Iphone,Email,我正在使用iPhone内置的composer在我的应用程序中发送电子邮件。我想在邮件正文中添加图片。请记住,我想把图片放在身体里,不想把图片附加到电子邮件里。我知道如何连接它们 这就像我想在身体中放置多个图像,并在相应的图像前面为它们添加一些细节 有没有办法做到这一点 与使用html一样,下面的代码显示一个问号而不是图像 NSData *imageData = [dbPersistenceObj getImageForEmail:[[imageIdArray objectAtIndex:i] i

我正在使用iPhone内置的composer在我的应用程序中发送电子邮件。我想在邮件正文中添加图片。请记住,我想把图片放在身体里,不想把图片附加到电子邮件里。我知道如何连接它们

这就像我想在身体中放置多个图像,并在相应的图像前面为它们添加一些细节

有没有办法做到这一点

与使用html一样,下面的代码显示一个问号而不是图像

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];
...