メールコンポーザーを開いたときに画像がメッセージ本体に表示されるように、作者で画像を追加します。 添付ファイルは必要ありません。 また、私はbase64.Isに画像を他の方法で変換したくないですか?MFMailComposerメッセージ本文に画像を追加する方法(添付ファイルではない)
ありがとうございます。
メールコンポーザーを開いたときに画像がメッセージ本体に表示されるように、作者で画像を追加します。 添付ファイルは必要ありません。 また、私はbase64.Isに画像を他の方法で変換したくないですか?MFMailComposerメッセージ本文に画像を追加する方法(添付ファイルではない)
ありがとうございます。
こんにちは私はこのコードを使用して添付ファイルイメージファイルを持っています。その作業コード。
- (void)createEmail {
//Create a string with HTML formatting for the email body
NSMutableString *emailBody = [[[NSMutableString alloc] initWithString:@"<html><body>"] retain];
//Add some text to it however you want
[emailBody appendString:@"<p>Some email body text can go here</p>"];
//Pick an image to insert
//This example would come from the main bundle, but your source can be elsewhere
UIImage *emailImage = [UIImage imageNamed:@"myImageName.png"];
//Convert the image into data
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(emailImage)];
//Create a base64 string representation of the data using NSData+Base64
NSString *base64String = [imageData base64EncodedString];
//Add the encoded string to the emailBody string
//Don't forget the "<b>" tags are required, the "<p>" tags are optional
[emailBody appendString:[NSString stringWithFormat:@"<p><b><img src='data:image/png;base64,%@'> </b></p>",base64String]];
//You could repeat here with more text or images, otherwise
//close the HTML formatting
[emailBody appendString:@"</body></html>"];
NSLog(@"%@",emailBody);
//Create the mail composer window
MFMailComposeViewController *emailDialog = [[MFMailComposeViewController alloc] init];
emailDialog.mailComposeDelegate = self;
[emailDialog setSubject:@"My Inline Image Document"];
[emailDialog setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:emailDialog animated:YES];
[emailDialog release];
[emailBody release];
}
こんにちは私はiphoneで完全にコードの下にその作業を使用して仕事を持っており、iPadは、このコードを使用してattachaイメージファイルを持っている.I。その作業コード。
とiOS 3.0以降に直接iphoneに取り付け
UIImage * image = [UIImage imageWithContentsOfFile:imagePath];
[composer addAttachmentData:UIImageJPEGRepresentation(itemImage, 1) mimeType:@"image/jpeg" fileName:@"MyFile.jpeg"];
これはOPが求めていたものです。もちろん、PNG(または他のタイプの画像形式)として送信したい場合は、適切なUIImageXXXRepresentation関数とimage/XXX MIMEタイプを使用する必要があります。 – hds
//添付ファイル追加するに画像を挿入します。私はによって確認された
//Create a string with HTML formatting for the email body
NSMutableString *emailBody = [[NSMutableString alloc] initWithString:@"<html><body>"] ;
//Add some text to it however you want
[emailBody appendString:@"<p>Some email body text can go here</p>"];
//Pick an image to insert
//This example would come from the main bundle, but your source can be elsewhere
NSString *filePath = @"";/*you file path*/
//Convert the file into data
NSData *attachmentData = [NSData dataWithContentsOfFile:filePath];
//Create a base64 string representation of the data using NSData+Base64
NSString *base64String = [attachmentData base64EncodedString];
//Add the encoded string to the emailBody string
//Don't forget the "<b>" tags are required, the "<p>" tags are optional
[emailBody appendString:[NSString stringWithFormat:@"<p><b><img src='data:image/png;base64,%@'> </b></p>",base64String]];
//You could repeat here with more text or images, otherwise
//close the HTML formatting
[emailBody appendString:@"</body></html>"];
NSLog(@"%@",emailBody);
//Create the mail composer window
MFMailComposeViewController *email = [[MFMailComposeViewController alloc] init];
email.mailComposeDelegate = self;
[email setSubject:@"My Inline Document"];
[email setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:email animated:YES];
[email release];
[emailBody release];
ファイルパスは、任意のドキュメントディレクトリパスまたはNSBundleパスです。ファイルは、image/pdf/attachmentです。上記のコードを実行するには、エンコーディングのためのbase64クラスを追加する必要があります。 – RajKrish
こんにちは@parag、あなたのコード、doesntの仕事を、受信者に送信すると、壊れたメッセージとして配信されました。 – Ranjit