【发布时间】:2014-12-20 01:14:44
【问题描述】:
我生成了一个包含 base64 图像的 html 字符串。当 MFMailComposeViewController 打开时,我会在生成的电子邮件中看到图像。当我发送它并打开它时,图像不显示,只是空的正方形。
我的代码
- (IBAction)actionShareByEmail:(id)sender {
if([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
NSString* subject = @"Environments list with qrcode";
[picker setSubject:subject];
[picker setMessageBody:[manager getHtmlWithEnvironments:nil] isHTML:YES];
[self presentViewController:picker animated:YES completion:nil];
}
}
-(NSString*)getHtmlWithEnvironments:(NSArray*)envDictionnaries{
NSMutableString* html = [[NSMutableString alloc]init];
[html appendString: @"<html><body>"];
for (NSDictionary *d in self.arEnvironments) {
UIImage* qrcode = [QRCodeGenerator qrImageForString:[d objectForKey:@"env_name"] imageSize:200.0];//Works fine
NSData *imageData = UIImagePNGRepresentation(qrcode);
NSString *encodedString = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
[html appendString: [NSString stringWithFormat:@"<H3>%@</h3><img src=\"data:image/png;base64,%@\" width=\"200\" height=\"200\" alt=\"test\" /></br></br>",[d objectForKey:KEY_ENV_NAME],encodedString]];
}
[html appendString: @"</html><body>"];
return html;
}
如何才能正确显示图片?
【问题讨论】:
-
您用什么查看打开的电子邮件?外表? IO 邮件?网页浏览器? Gmail?
标签: html objective-c email uiimage base64