【问题标题】:UIImageView.Image to mail attachment with MonoTouchUIImageView.Image 使用 MonoTouch 发送邮件附件
【发布时间】:2012-02-03 11:42:34
【问题描述】:

我是 MonoTouch 的新手,我正在尝试发送一封带有图像作为附件的电子邮件,用户将从相机中驯服或从图库中挑选。

我已经创建了程序并且它运行正常(我有一个 imageview 控制器,它将图像从 uiimagepicker 加载到 imageview。然后我调用 MFMailComposeViewController 但我不知道如何将图像从 imageview 传递到 addAttachmentdata方法。

我想首先我必须将 imageview 中的图像保存为文件,但我不知道该怎么做,也找不到它的文档。

【问题讨论】:

    标签: c# xamarin.ios uiimage mfmailcomposeviewcontroller email-attachments


    【解决方案1】:

    首先您需要将UIImage 转换为NSData,例如使用AsPNGAsJPG,然后为图像使用正确的MIME 类型。这是一个例子:

    MFMailComposeViewController email = new MFMailComposeViewController ();
    // any UIImage will do
    UIImage img = UIImage.FromFile (".../anyimage.png");
    email.AddAttachmentData (img.AsPNG (), "image/png", "image.png");
    email.SetSubject ("Photo from my iPhone");
    email.SetMessageBody ("Here's the attachment!", false);
    controller.PresentModalViewController (email, false);
    

    注意"image.png" 是给收件人电子邮件软件的suggested 文件名(即,它不是您设备中的本地文件,不需要匹配任何存在的文件)。

    【讨论】:

    • 是的,但是我如何将图像从 imageview 控件转换为 NSData?
    • 对不起,我看到了你的笔记,我会试试看它是否适合我
    • 您已经在自己的问题中得到了答案;-) UIImageView.Image 具有 Image 类型为 UIImage 的属性。所以imageView.Image.AsPNG () 会返回一个NSData 实例,您可以在调用AddAttachmentData 时使用它
    • 我正在尝试,但我正在尝试弄清楚如何将 imageview 中存在的图像转换为 NSData。谢谢你的回答
    猜你喜欢
    • 2013-04-13
    • 2011-03-24
    • 1970-01-01
    • 2016-06-10
    • 2012-10-19
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多