Tinymce adding file picker button for adding links

2.8k views Asked by At

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?

1

There are 1 answers

0
Michael Fromin On BEST ANSWER

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).