【发布时间】:2017-12-27 04:16:29
【问题描述】:
我想将图像嵌入到tinymce编辑器中而不是文件中,我想用这种形式嵌入它(直接放入它的base64数据)
<img src="data:image/png;base64,ABCD..."></img>
我将图像数据存储在一个变量中,
var data= '<img src="data:image/png;base64,ABCD..."></img>';
当我调用时
tinyMCE.execCommand('mceInsertContent', false, data);
或
tinyMCE.execCommand('mceInsertRawHTML', false, data);
或
tinyMCE.activeEditor.setContent(data, {format:'raw'});
调用后,当我得到 HTML 后,我们有:
<img src="blob:XYZ">
但是blob内容与我们提供的数据不一样,它很短,如果我们在另一个浏览器中重用这个HTML,我们就看不到图像。 TinyMCE 使用这个 BLOB:.. 进行缓存,但我不想要任何缓存。
【问题讨论】:
-
如果您使用 TinyMCE API 从编辑器中取回内容,它应该是原始 Base64 版本……这不是您提交包含 TinyMCE 内容的表单时得到的吗?跨度>
-
谢谢,我们发现了问题,当我们获取内容时,我们使用了 getConent ({raw}) 变体,导致 base64 数据被转换为 blob。如果我们调用 getContent(),我们会得到 base64 数据。
标签: javascript html tinymce embed