Mam ten kod, który ma dołączyć plik HTML do wiadomości e-mail, a także wyświetlić zawartość pliku HTML w treści wiadomości e-mail. W pliku HTML pojawia się obrazek (reading.png), który jest wyświetlany w co drugiej linii. Jednak NIE jest on wyświetlany w treści wiadomości e-mail. Co muszę zrobić, aby go wyświetlić?Jak wyświetlić ten obraz w treści wiadomości e-mail?
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];
To jest HTML, który ma być wyświetlany:
<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>
UPDATE: Nie sądzę, że jestem wystarczająco jasne ... W HTML, który jest wyświetlany w komunikacie wychodzącym, nie powinien być obrazem wyświetlanym w całym kodzie HTML. Nie mam problemu z dołączeniem obrazu do wiadomości, ale NIE pojawia się on w kodzie HTML, który jest tam, gdzie chcę. Więc wyraźne dołączanie obrazu do wiadomości nie działa ... (myślałem, że tak).
HTH ...
Co więc tutaj robię? Dlaczego potrzebuję całego HTML? Chcę tylko, aby obraz pojawił się w załączonym kodzie HTML ... – SpokaneDude
Przepraszam, jeśli to było mylące. Potrzebujesz tylko '' w swoim HTML. Mój przykład to kompletna wiadomość e-mail w formacie HTML z opisem obrazu nad obrazem. –
Cześć Jeffery ... dziękuję za odprawę ... więc, pozwól mi upewnić się, że rozumiem: Mogę zrobić coś takiego: "NSString encStr = [imageData base64EncodedString];", następnie zastąpić ###### # powyżej w twoim kodzie za pomocą "encStr"? (src = "data: image/png; base64, encStr" ...) – SpokaneDude