.net 如何将数据库中的图像插入到邮件中
我在sql server中存储了一个映像。我希望检索图像并将其放置在MailMessage对象中,不是作为附件文件,而是作为html正文的一部分 我发现许多使用本地图像文件的示例,但没有发现任何使用数据库图像的示例 有人知道我如何在vb.net中做到这一点吗 提前谢谢你.net 如何将数据库中的图像插入到邮件中,.net,vb.net,sendmail,.net,Vb.net,Sendmail,我在sql server中存储了一个映像。我希望检索图像并将其放置在MailMessage对象中,不是作为附件文件,而是作为html正文的一部分 我发现许多使用本地图像文件的示例,但没有发现任何使用数据库图像的示例 有人知道我如何在vb.net中做到这一点吗 提前谢谢你 Javier您必须将数据库中的图像添加为。 从数据库中以字节形式检索图像时,可以使用流添加LinkedResource;通过从字节创建memorystream 用C#编写代码,但我认为您应该能够将其转换为VB.Net var v
Javier您必须将数据库中的图像添加为。 从数据库中以字节形式检索图像时,可以使用流添加LinkedResource;通过从字节创建memorystream 用C#编写代码,但我认为您应该能够将其转换为VB.Net
var view = System.Net.Mail.AlternateView.CreateAlternateViewFromString(text, null, "text/html");
var resource = new System.Net.Mail.LinkedResource(new MemoryStream(bytes), mime);
resource.ContentId = image.Name;
view.LinkedResources.Add(resource);
_message.AlternateViews.Add(view);
您必须在htmlbody中包含带有imagetag的图像:
通过添加LinkedResource,您可以将图像包含到消息中。但是您需要在html正文和图像之间创建链接。这是html正文中的“cid:myuniqueid”。cid的值必须等于LinkedResource对象的ContentID属性的值
以下是一个例子:
“**创建邮件对象
将消息变暗为新邮件消息()
“**创建HTML视图
Dim htmlView As AlternateView=AlternateView.CreateAlternateView-FromString(htmlbody,System.Text.Encoding.Default,MediaTypeNames.Text.Html)
'**为图像创建资源
Dim lr作为新的LinkedResource(objStream)
'**设置图像资源的contentid
lr.ContentId=“myuniqueid”
“**将图像资源和htmlview链接在一起
htmlView.LinkedResources.Add(lr)
'**将视图添加到MailMessage对象
message.AlternateViews.Add(htmlView)
请参阅。虽然它不会从数据库中提取图像,但它会向您展示如何嵌入非本地文件路径的图像。您可以将此代码与代码结合起来,将图像从数据库检索到内存流中代码中的“objStream”是什么?您可以插入define语句吗?您知道为什么在gmail帐户中此图像不显示吗?在outlook中,配置了其他internet邮件帐户后,图像显示正确吗?。。。我尝试将图像作为附件插入,在这种情况下,outlook也会正确显示图像,但在gmail中显示为附件,不会显示在html正文中。。。