我有這個代碼,它應該將HTML文件附加到電子郵件中,並在電子郵件正文中顯示HTML文件的內容。 HTML文件中引用了一個圖像(reading.png),該圖像每隔一行顯示一次。但是,它不會顯示在電子郵件的正文中。我需要做些什麼來展示它?如何讓這張圖片顯示在我的電子郵件正文中?
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self; // set delegate to notify us what's happen'in
[mailer setSubject:[NSString stringWithFormat: @"Site Readings for: %@", gSiteID.globalSiteID]];
// add the image for the HTML
UIImage *toolImage = [UIImage imageNamed:@"reading.png"];
NSData *imageData = UIImagePNGRepresentation(toolImage);
[mailer addAttachmentData:imageData mimeType:@"image/png" fileName:@"reading.png"];
// attach file
NSString *file = [[NSBundle mainBundle] pathForResource:@"Surveyor" ofType:@"txt"];
NSData *surveyorTxt= [NSData dataWithContentsOfFile: file];
[mailer addAttachmentData: surveyorTxt mimeType:@"text/html" fileName: @"Surveyor.txt"];
// display the file in the body of the email
NSString *reportBody;
reportBody = [[NSString alloc] initWithData:databuffer encoding:NSASCIIStringEncoding];
[mailer setMessageBody: reportBody isHTML:true]; // indicate the body is html
[self presentModalViewController: mailer animated:TRUE];
這是要顯示的HTML:
<html>
<head>
<link rel='stylesheet' type='text/css' href='default.css'/>
</head>
<body>
STA: TBM "J" Elev: 19.76<br>Desc: USGS Test Site
<div>
<table border class="boldtable">
<tr BGCOLOR="ADDAFE">
<th>STA </th>
<th>BS </th>
<th>HI </th>
<th>FS </th>
<th>ELEV </th>
<th>Desc</th>
</tr>
<p><tr>
<td> TBM "J"</td>
<td></td><td></td><td></td>
<td>19.76</td>
<td>USGS Test Site</td>
<p><tr
><td><img src="reading.png" align=center></td><td>3.14</td><td valign="middle">22.90</td>
更新:我不認爲我很清楚......在其中顯示了傳出消息的HTML,有應該是整個HTML中出現的圖像。將圖片附加到郵件中沒有問題,但它不會出現在HTML中,這是我想要的地方。因此,清楚地將圖像附加到消息上是行不通的(我認爲它會)。
HTH ...
所以我在這裏做什麼?爲什麼我需要所有的HTML?我想要做的就是讓圖像出現在附加的HTML中... – SpokaneDude 2012-04-24 19:46:31
對不起,如果這是混亂。您只需在您的HTML中使用''。我的例子是一個完整的HTML電子郵件消息,描述了圖像上方的圖像。 – 2012-04-30 17:29:38
您好傑弗瑞...感謝您檢查回...所以,讓我確保我明白這一點:我可以這樣做:「NSString encStr = [imageData base64EncodedString];」,然後替換###### #在代碼中使用「encStr」? (src =「data:image/png; base64,encStr」...) – SpokaneDude 2012-04-30 22:42:51