【发布时间】:2015-08-04 15:51:05
【问题描述】:
我想在邮件正文中发送图像。在这里,我正在加载基于数据库记录的图表。我通过以下代码将图表转换为字节:
string base64 = Request.Form[hfImageData.UniqueID].Split(',')[1];
byte[] bytes = Convert.FromBase64String(base64);
现在,我想将此字节数组转换为 Image 并将该图像添加到邮件正文中。
这是我的发送邮件代码:
MailMessage message = new MailMessage();
string fromEmail = "domain.com";
string fromPW = "12345";
string toEmail = "abcde@gmail.com";
message.From = new MailAddress(fromEmail);
message.To.Add(toEmail);
message.Subject = "Chart Mail";
message.Body = "Hi Team";
message.IsBodyHtml = true;
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
SmtpClient smtpClient = new SmtpClient("domain.com", 1234);
smtpClient.EnableSsl = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential(fromEmail, fromPW);
smtpClient.Send(message.From.ToString(), message.To.ToString(), message.Subject, message.Body);
在上面的代码中,我想将字节转换为图像,需要在邮件正文中发送。请提出建议。
【问题讨论】:
-
我不确定如何使用内存中的图像,所以我不会发布答案,但如果文件存在于光盘上,您可以很容易地使用内联附件。我自己使用了这个确切的代码,并且可以确认它运行良好stackoverflow.com/questions/2317012/…
-
这里,我根据数据库记录动态加载图表,并将图表转换为字节。光盘中不存在该文件。
-
我知道,我说过这就是我不发布答案的原因。由于有很多关于如何从字节数组中获取图像的指南,我希望你自己做一些研究。此外,正如 Nemmy 所说,构造函数接受一个内存流,因此您可以直接使用它。
-
是的。我正在这样做..
标签: c# asp.net image email byte