0

在我的 iOS 应用程序中,我允许用户从相册中选择图像或从相机中捕获图像。紧接着,我展示了一个 MFMailComposeViewController,其中包含选择/捕获的图像作为附件。

图像已正确附加和发送,但电子邮件的照片缩略图预览区域在所有情况下都是空白的,除非选择了相册中的最新照片。如果捕获图像或从相册中选择旧图像,则它是空白的,如下所示:

截屏

我附加捕获/选定图像的代码是:

MFMailComposeViewController email = new MFMailComposeViewController ();
email.SetToRecipients(new string[] {"test@test.com"});
email.SetSubject("Photo for " + CurrentCompany.DbaName + " (" + CurrentCompany.CoKey.ToString() + ")");

//imageToEmail is a UIImage that is set in the callback from the image capture/selection process
email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");

email.Finished += HandleFinished;
NavigationController.PresentViewController(email, true, null);

为什么预览是空白的?

4

2 回答 2

0

万一以后有人遇到这个问题,我尝试了几种不同的方法来保存 UIImage(应用程序的个人存储位置、相册等),但是没有一种不同的方法可以将图像附加为 PNG。将 UIImage 保存为 JPEG 是为我解决的问题。更改此行:

email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png"); 

至:

email.AddAttachmentData (imageToEmail.AsJPEG(), "image/jpg", "photo.jpg"); 

允许所有捕获或选择的图像在电子邮件中显示预览缩略图。

于 2013-04-24T19:49:25.493 回答
0

尝试这个 :

    email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");   

将此行替换为:

    NSData *data = UIImagePNGRepresentation(imageToEmail);//Your uiimage convert to nsdata
    [email addAttachmentData:data mimeType:@"image/png" fileName:@"Myphoto"];
于 2013-04-24T05:54:56.583 回答