2 apbbbbb apbbbbb 于 2016.09.09 14:25 提问

用ck_edit编辑器上传图片,会保存到服务器,读取也能读到,但邮箱功能发送时,却收不到??

邮件功能,用ck_edit编辑器,上传图片,保存,再次查看时,图片也能读取出来,
但是点击发送,收件人却不能收到图片,图片位置显示一个空白,读取不出来,这个
要怎么做,只有把图片保存到数据库,图片才能读取出来么???????

2个回答

showbo
showbo   Ds   Rxr 2016.09.09 14:34

图片地址对了没有,发送邮件给别人图片地址要变为绝对地址,协议和域名加上,不能使用相对地址。

tina622
tina622   2016.09.09 17:00

插入的图片是绝对地址。使用:SRC="D:\1.jpg"。你要把这个图片文件先添加到附件里面去,在添加附件时会获得这个附件的GUID。然后再把IMG的SRC修改为
SRC="cid:xxxxxxxxx",这里的“xxxxxx”就是你附件的GUID。这样你发过去的时候,对方就能直接看到你插入的图片。
例如:

        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(edtMailBody.Text);
        //检查HTML中是否存在IMG标签,如果有,即表示有插入图片
        HtmlAgilityPack.HtmlNodeCollection divs = doc.DocumentNode.SelectNodes("//img");            
        if(divs != null)
        {
            foreach (HtmlAgilityPack.HtmlNode img in divs)
            {
                string imgpath = img.Attributes["src"].Value; //获得图片地址
                string ContentId = mailMessage.AddAttachment(imgpath, true, null); //将图片插入为附件 
                img.Attributes["src"].Value = "cid:" + ContentId; //将SRC替换为CID
            }
        }
tina622
tina622 回复479925485: 你要把邮件变成 HTML文档。如果文本编辑器不能自己生成HTML文本的话,你可以用webbrows控件的编辑模式做为你的HTML编辑器。具体的情况你可以百度。或者发邮件给我:fw2016015@finework.win
大约一年之前 回复
apbbbbb
apbbbbb 明白你的意思,但是这个cke_editor文本编辑器,保存图片的到数据库是这样保存进去的<input alt="" src="/upload/ckDir/images/Desert.jpg" style="width: 1024px; height: 768px;" type="image" /> 而且数据库中的图片也不显示,只是页面读取出来了
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片