iphone - 如何将文件从 iPhone 目录快速附加到邮件

标签 iphone swift email

我是 iOS 开发新手

是否可以使用 swift 将 iPhone/iPad 设备文件夹中的文件附加到邮件编辑器?我已经制作了一个邮件编辑器,我们可以在那里添加附件。我的问题是我们如何从设备内存中选择并添加附件?任何帮助表示赞赏 提前致谢

最佳答案

试试这个,

func sendMailWithFile(filePath: String) {

  if MFMailComposeViewController.canSendMail() {
    let composer = MFMailComposeViewController()
    composer.setToRecipients(["mailid"])
    composer.setMessageBody("Body", isHTML: false)
    composer.setSubject("Subject")
    let attachmentData = NSData(contentsOfFile: filePath)
    let mimetype = self.mimeTypefrom(filePath)
    composer.addAttachmentData(attachmentData!, mimeType: mimetype, fileName: filePath.lastPathComponent)
    self.presentViewController(composer, animated: true, completion: nil)
  } else {
    let sendMailErrorAlert = UIAlertView(title: "Could Not Send Email", message: "Check your mail configurations", delegate: self, cancelButtonTitle: "OK")
    sendMailErrorAlert.show()
  } 
} 

func mimeTypefrom(filePath: String) -> String {

    let fileExtension = filePath.pathExtension;
    let UTI =  UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, nil)
    let mimeType = UTTypeCopyPreferredTagWithClass(UTI!.takeUnretainedValue(), kUTTagClassMIMEType);
    return (mimeType?.takeRetainedValue())! as String
}

注意:没有对选项进行nill检查。

编辑:添加了方法 mimeTypefrom

关于iphone - 如何将文件从 iPhone 目录快速附加到邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743438/

相关文章:

iphone - Cocoa 中用于在 unicode 字符和虚拟键码之间转换的内置函数?

ios - 如何使用苹果核心库或使用 OPEN GL 在视频中添加不同类型的滤镜

ios - 构建iOS应用程序(Flutter)时出错,Android运行顺利。 STRIPEAPPLEPAY Pod 错误

ios - 这些闭包中的保留周期有什么区别?标准闭包与对象初始化闭包

java - 使用java应用程序发送电子邮件

java - 无法通过 SMTP 从服务器发送邮件,但我可以从本地主机发送邮件

python - 使用 python 电子邮件发送具有非 ascii 文件名的附件

ios - 如何通过 iOS Social.framework 在 fb 和 twitter 上上传多张照片?

iphone - AVFoundation 点击​​聚焦反馈矩形

ios - 删除 tableView 单元格