I am new to MonoTouch and I am trying to send an email with an image as attachment that a user will tame from camera or pick from gallery.
I have created the program and it runs correctly (I have an imageview controller which loads an image from uiimagepicker to imageview. Then I call MFMailComposeViewController
but I don't know how to pass the image from imageview to addAttachmentdata
method.
I suppose first I have to save the image from imageview as a file but I don't know how to do it and I can't find documentation for it.
First you need to turn the UIImage
into an NSData
, e.g. using AsPNG
or AsJPG
, then use the right MIME type for the image. Here's an example:
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);
Note: the "image.png"
is a suggested file name given to the recipient email software (i.e. it's not a local file in your device and does not need to match anything that exists).