【问题标题】:Adding Image as an attachment to email [duplicate]将图像作为附件添加到电子邮件[重复]
【发布时间】:2012-02-28 18:37:41
【问题描述】:

可能重复:
how can send a file as attachment in objective c

我想在我的 iPhone 应用程序中添加一个图片作为附件。现在我要像这样附加图片:

NSMutableString * body = [[NSMutableString alloc] initWithString:@"<html><body><img src=\"http://url here\"/>"];
[body appendString:@"</body></html>"];
[mailer setMessageBody:body isHTML:YES];

但我想包含一个位于我的资源文件夹中的图像,而不是 url。

我该怎么做?

【问题讨论】:

标签: iphone objective-c


【解决方案1】:

来自关于 MFMailComposeViewController 的苹果文档;基本上你必须用你的图像初始化 UIImage,提取图像数据(例如:如果它是 PNG 使用 UIImagePNGRepresentation())并提供正确的 mime 类型,例如图像/PNG。然后使用下面的指定函数(文件名是您要赋予附件的文件的名称;例如“image.png”)

addAttachmentData:mimeType:文件名: 将指定的数据作为附件添加到消息中。 - (void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename 参数 附件 要附加的数据。通常,这是您要包含的文件的内容。此参数不得为 nil。 哑剧类型 指定数据的 MIME 类型。 (例如,JPEG 图像的 MIME 类型是 image/jpeg。)有关有效 MIME 类型的列表,请参阅 http://www.iana.org/assignments/media-types/。此参数不得为 nil。 文件名 与数据关联的首选文件名。这是将文件传输到其目的地时应用到文件的默认名称。文件名中的任何路径分隔符 (/) 字符在传输之前都将转换为下划线 (_) 字符。此参数不得为 nil。 讨论 此方法在消息正文之后但在用户签名之前附加指定的数据。您可以附加多个文件(使用不同的文件名),但必须在显示邮件撰写界面之前这样做。将界面呈现给用户后不要调用此方法。

例子:


UIImage *myImage = [UIImage imageNamed:@"my_bundled_image"];
NSData *myImageData = UIImagePNGRepresentation(myImage);
[mailComposerViewController addAttachmentData:myImageData mimeType:@"image/png" fileName:"my_image.png"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多