javascript TinyMCE v4关闭斑点

3ks5zfa0  于 2023-03-11  发布在  Java
关注(0)|答案(2)|浏览(116)

我不希望tinymce使用斑点来生成小图像,因为我正在将这些data:images转换为真实的图像,并且在得到真实图像后替换img src=""。我如何管理它以仅获得data:image图像?可能吗?我尝试过

automatic_uploads: false

但这改变不了什么。
下面是我的代码:

tinymce.init({
    selector: strSelector + "textarea:not(#strDescription)",
    paste_data_images: true,
    image_advtab: true,
    mode: "specific_textareas",
    editor_selector: "mceEditor",
    automatic_uploads: false,
    file_picker_callback: function(callback, value, meta) {
        if (meta.filetype == 'image') {
            $('#upload').trigger('click');
            $('#upload').on('change', function() {
                var file = this.files[0];
                var reader = new FileReader();
                reader.onload = function(e) {
                    callback(e.target.result, {
                        alt: ''
                    });
                };
                reader.readAsDataURL(file);
            });
        }
    },
    plugins: [
        "advlist autolink lists link image imagetools charmap preview anchor code",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime table contextmenu paste imagetools"
    ],
    setup: function(editor) {
        editor.on('change', function() {
            editor.save();
        });
    }
});
ecbunoof

ecbunoof1#

通过添加以下筛选器可以禁用Blob转换:
TinyMCE文件:图像_数据目标_过滤器

tinymce.init({
   images_dataimg_filter: function(img) {
      return img.hasAttribute('internal-blob');
  }
});
brccelvz

brccelvz2#

考虑到images_dataimg_filter方法在5.3中已弃用,下面的方法可以在v6中实现类似的功能(在编写本文时为6.3.2)。这个代码片段使用images_upload_handler捕获上载。从那里,它截取blob并将其转换为base64映像。最终,您可以在Promise的上下文中执行任何需要的操作:

const base64_img_handler = (blobInfo) => new Promise((resolve) => {
            resolve("data:image/png;base64," + blobInfo.base64());
        });    

tinymce.init({    
        ....
        images_upload_handler: base64_img_handler,
        ....
    });

相关问题