Tinymce作为电子邮件编辑器 - 使用CID进行图像预览

时间:2017-07-04 14:53:56

标签: tinymce tinymce-4

我使用Tinymce作为电子邮件编辑器。将嵌入图像作为附件插入时,图像将插入为:

private void Button_Click(object sender, RoutedEventArgs e) { var window = new Window(); var myButtonLocation = MyButton.PointToScreen(new Point(0, 0)); window.Width = MyButton.ActualWidth + 16; window.Height = 300; window.Left = myButtonLocation.X - 8; window.Top = myButtonLocation.Y - window.Height; window.Show(); }

这适用于电子邮件发送部分 - 但当然不适用于编辑器。图像未显示...

问题:是否有"内容"和"显示" Tinymce中的一层我可以挂进去吗?

我的目标是将内容保存为

<img src="cid:mycid@sth" />

并在编辑器窗口中将其转换为

<img src="cid:mycid@sth" />

我正在使用Tinymce 4。

1 个答案:

答案 0 :(得分:1)

编辑器依赖于浏览器来呈现HTML,因此像<img src="cid:mycid@sth" />这样的任何内容都不会在编辑器中呈现 - 它只是无效的HTML。

您可以做的是依靠HTML中的data-xxx属性来存储您真正想要的数据,并在将其加载到TinyMCE时转换HTML。

例如......

当有人插入图片时,您可以创建以下HTML

<img data-src="cid:mycid@sth" src="/mypreview/image/2000" />

...这样可以让编辑器在您保留所需数据的同时实际渲染图像。保存内容后,您可以删除现有的src数据,并将data-src内容复制回src,如果这是您的应用对其服务器端处理所需的内容。

如果有人编辑了内容,您可以撤消该过程并将src更改回TinyMCE可以呈现的HTML。