【问题标题】:Append UIImage to mail将 UIImage 附加到邮件
【发布时间】:2021-06-12 15:57:08
【问题描述】:

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

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 附加到邮件中。

你是怎么做到的?

非常感谢!

【问题讨论】:

    标签: swift xcode mfmailcomposeviewcontroller


    【解决方案1】:

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

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

    来自文档 -

    附件

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

    哑剧类型

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

    文件名

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


    更新

    对于随附的屏幕截图 -

    电话看起来像 -

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

    【讨论】:

    • 非常感谢!但我总是出错。 . .我究竟做错了什么?图片:i.stack.imgur.com/VbcPb.png
    • 查看更新。
    • 好的,非常感谢。 . .我还有一个问题:现在我总是犯错误:可选类型“UIImage”的值?必须解包以引用已包装基本类型“UIImage”的成员“jpegData”和可选类型“数据?”的值?必须解包为“数据”类型的值 我该如何修复错误?可能是初学者的错误。 . .我还没有太多经验。 . .
    • 更新了答案。
    • 再次感谢您!现在可以完美运行了!!
    猜你喜欢
    • 2015-04-29
    • 2012-05-28
    • 2019-04-19
    • 1970-01-01
    • 2016-08-29
    • 2017-09-17
    • 2014-06-25
    • 1970-01-01
    相关资源
    最近更新 更多