使用base64编码将图片嵌入到tinymce中

5
我希望将一张图片嵌入到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:..进行缓存,但我不想进行任何缓存。


1
如果您使用TinyMCE API从编辑器中获取内容,则应该是原始的Base64版本......当您提交包含TinyMCE内容的表单时,这不是您获得的内容吗? - Michael Fromin
谢谢,我们找到了问题所在。当我们使用getConent({raw})变量获取内容时,会导致base64数据被转换为blobs。如果我们调用getContent(),我们就可以得到base64数据。 - benchpresser
1个回答

5

这不是插件粘贴操作,而是通过代码插入,如果我们执行ctrl+c/ctrl+v,则paste_data_images会生效。 - benchpresser
1
正确答案。您可以将图像拖放到编辑器中。 - HungNM2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接