【问题标题】:Embed image into tinymce with base64 encoding使用 base64 编码将图像嵌入到 tinymce
【发布时间】: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 后,我们有:

&lt;img src="blob:XYZ"&gt;

但是blob内容与我们提供的数据不一样,它很短,如果我们在另一个浏览器中重用这个HTML,我们就看不到图像。 TinyMCE 使用这个 BLOB:.. 进行缓存,但我不想要任何缓存。

【问题讨论】:

  • 如果您使用 TinyMCE API 从编辑器中取回内容,它应该是原始 Base64 版本……这不是您提交包含 TinyMCE 内容的表单时得到的吗?跨度>
  • 谢谢,我们发现了问题,当我们获取内容时,我们使用了 getConent ({raw}) 变体,导致 base64 数据被转换为 blob。如果我们调用 getContent(),我们会得到 base64 数据。

标签: javascript html tinymce embed


【解决方案1】:

尝试设置此配置

tinymce.init({
  paste_data_images: true
});

https://www.tiny.cloud/docs/plugins/paste/#paste_data_images

【讨论】:

  • 不是插件粘贴动作,是代码插入,按ctrl+c/ctrl+v,paste_data_images生效
  • 正确答案。您可以将图像拖放到编辑器中
猜你喜欢
  • 2017-08-14
  • 2022-11-30
  • 1970-01-01
  • 2016-04-13
  • 2010-11-15
  • 2014-08-01
  • 2014-01-19
  • 1970-01-01
  • 2016-07-11
相关资源
最近更新 更多