微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 UIImage 附加到邮件 更新

如何解决将 UIImage 附加到邮件 更新

我想从我的应用程序发送电子邮件。到目前为止,我已经解决了这个问题,发送也完美无缺:

func showMailComposer() {
    
    guard MFMailComposeViewController.canSendMail() else {
        return
    }
    
    let composer = MFMailComposeViewController()
    composer.mailComposeDelegate = self
    composer.setToRecipients(["email@gmail.com"])
    composer.setSubject("example")
    composer.setMessageBody("",isHTML: false)
    
    present(composer,animated: true)
}

现在我想用邮件发送一个用户制作的签名。我已经将签名导出为 UIImage。

现在我不知道如何将 UIImage 附加到邮件中。

你是怎么做到的?

非常感谢!

解决方法

您可以使用此 api 添加附件数据 - https://developer.apple.com/documentation/messageui/mfmailcomposeviewcontroller/1616885-addattachmentdata

func addAttachmentData(_ attachment: Data,mimeType: String,fileName filename: String)

来自文档 -

附件

要附加的数据。通常,这是您要包含的文件的内容。该参数不能为nil。

mimeType

指定数据的 MIME 类型。 (例如,JPEG 图像的 MIME 类型是 image/jpeg。)有关有效 MIME 类型的列表,请参阅 http://www.iana.org/assignments/media-types/。该参数不能为nil。

文件名

与数据关联的首选文件名。这是文件传输到目的地时应用于文件的默认名称。在传输之前,文件名中的任何路径分隔符 (/) 字符都将转换为下划线 (_) 字符。该参数不能为nil。


更新

对于附加的屏幕截图 - enter image description here

调用看起来像 -

composer.addAttachmentData(
    unterschriftFoto?.jpegData(compressionQuality: 0.99) ?? Data(),mimeType: "image/jpeg",filename: "unterschriftFoto.jpeg" /// or whatever you like to call it
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。