在TinyMCE中如何将图像编码为Base64?

7
这是我的TinyMCE配置的一部分:

{
...
plugins: 'code paste',
paste_data_images: true,
...
}

当我通过TinyMCE的简单拖放功能添加图片时,本地图片将以Blob编码的图像形式显示。我想要将其编码为base64格式。但是找不到任何相关信息,只有这个:

images_upload_handler: function (blobInfo, success, failure) {
    success("data:" + blobInfo.blob().type + ";base64," + blobInfo.base64());
}

我能做什么?


2
奇怪...你的代码对我来说完全正常 success("data:" + blobInfo.blob().type + ";base64," + blobInfo.base64()); 它是一个blob缓存本地URL,现在它是一个URL base64图像。 - Diogo Garcia
指向这篇文章:https://dev59.com/HaDia4cB1Zd3GeqPBU3C - 它帮助我解决了在tinymce正文中想要base64而不是blob的情况。 - Volmarg Reiso
1个回答

1
当这些图像被发送到服务器时,它们确实是Base64编码的图像。当内容被粘贴/拖动到编辑器中时,浏览器只会显示一个blob URL。
如果您查看此文档页面,它概述了当图像被粘贴/拖动到编辑器中时,您可以配置TinyMCE执行的操作。

https://www.tiny.cloud/docs-4x/advanced/handle-async-image-uploads/

有效地说,当TinyMCE将图像发送到服务器时,您需要服务器端代码来处理它。大多数人不需要为客户端编写自己的图像处理代码-您只需配置images_upload_url参数即可告诉编辑器要将文件发送到哪里。

https://www.tiny.cloud/docs/configure/file-image-upload/#images_upload_url

真正的工作是上传文件后你要做什么 - 这是你需要编写的服务器端代码来处理Base64图像并将其存储在服务器上。然后,您返回JSON告诉TinyMCE在图像的src属性中放置什么。

上传图片后应该怎么做的过程在这里介绍:

https://www.tiny.cloud/docs/advanced/handle-async-image-uploads/#imageuploaderrequirements


6
我不需要将图像保存在服务器上。当我看到blob时,我无法理解我的图像在哪里?如果我看到src="data:image...;base64,dedewdewdewd24e=e..",一切都很清楚。 - Philipp Klemeshov
1
当您查看博客时,您的图像会出现在浏览器中,并且只会在您关闭浏览器之前暂时存在。它不会存储在任何地方,而是存在于浏览器的内存中。 - Chris Hawkes

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