TinyMCE v6如何将图片以Base64格式插入编辑器?
TinyMCE v6 图片Base64插入解决方案
在TinyMCE v6中,images_upload_handler的API确实发生了变化——不再依赖success回调函数,而是要求返回一个Promise对象。你只需要把原v5的逻辑封装进Promise即可正常运行,以下是修改后的完整代码:
tinymce.init({ paste_data_images: true, plugins: 'image imagetools', selector: '#editor', smart_paste: true, toolbar: 'image', file_picker_types: 'image', images_upload_handler: function (blobInfo) { // 返回Promise,resolve生成的Base64地址 return new Promise((resolve) => { const base64Url = `data:${blobInfo.blob().type};base64,${blobInfo.base64()}`; resolve(base64Url); }); } });
关键变化说明
- v6的
images_upload_handler仅接收blobInfo一个参数,移除了原v5的success回调参数 - 必须返回Promise实例,通过
resolve方法传递最终的图片URL(这里即Base64格式的data URL) - 如果需要处理异常场景,可在Promise中调用
reject传入错误信息,示例:return new Promise((resolve, reject) => { try { const base64Url = `data:${blobInfo.blob().type};base64,${blobInfo.base64()}`; resolve(base64Url); } catch (err) { reject('图片处理失败'); } });
内容的提问来源于stack exchange,提问作者Michiel B
相关产品推荐
相关产品推荐

