9

I wanted to add a trigger button to upload image as a data. So I added the following piece of code

<textarea id="test"></textarea>
<input name="image" type="file" id="test-upload" class="hidden" onchange="">

tinymce.init({
            selector: '#test',
            ...,
            paste_data_images: true,
            image_advtab: true,
            file_picker_callback: function(callback, value, meta) {
                if (meta.filetype == 'image') {
                    jQuery('#test-upload').trigger('click');
                    jQuery('#test-upload').on('change', function() {
                        var file = this.files[0];
                        var reader = new FileReader();
                        reader.onload = function(e: any) {
                            callback(e.target.result, {
                                alt: ''
                            });
                        };
                        reader.readAsDataURL(file);
                    });
                }
            },
            ...
        });

This is working as expected. I am getting a file picker for the image as below

enter image description here

But I am also getting this file picker when I try to add link as well. enter image description here

How to avoid this?

Abhijith Nagaraja
  • 3,370
  • 6
  • 27
  • 55

1 Answers1

5

Add the file_picker_types setting to your configuration and specify where the picker should be used.

https://www.tinymce.com/docs/configure/file-image-upload/#file_picker_types

The default is:

file_picker_types: 'file image media'

...but you can change it to:

file_picker_types: 'image media'

...at which point the picker won't appear for files (links).

Michael Fromin
  • 13,131
  • 2
  • 20
  • 31