Когда я копирую и вставляю изображение на летнюю заметку, каждый браузер производит обратные вызовы. Firefox: onPaste: Chrome: onImageUpload и onPaste - PullRequest
0 голосов
/ 07 мая 2020

Я хотел бы загрузить на сервер вставленное изображение с помощью CTRL + V, но оно загружается 2 раза, иногда вызывает OnPaste, а иногда - OnimageUpload, и разработчик планирует исправить это с 2016 года.

Что я могу сделать?

https://github.com/DiemenDesign/summernote-cleaner/issues/46

Код:

var uploadImageFile = function(blob,callback){
    // return send to server
};

// upload image to server and create imgNode...
var insertImg = function (res) {
    var imgNode = document.createElement("IMG");
    imgNode.src = (!files[0].type.includes('gif') ? 'https://mydomain.com.br' : '') + res.img;
    imgNode.alt = files[0].name;
    $('#text-area').summernote('insertNode', imgNode);
    $('#text-area').trigger('change');
};

$('#text-area').summernote({
    height: size,
    toolbar: [
        ['style', ['style', 'bold', 'italic', 'underline', 'clear']],
        ['fontsize', ['fontsize']],
        ['para', ['paragraph']],
        ['height', ['height']],
        ['insert', ['picture', 'link', 'video']]
    ],

    callbacks: {
        onImageUpload: function(files) {
            uploadImageFile(files[0], insertImg);
        },
        onPaste: function (e) {

            var buffer = ((e.originalEvent || e).clipboardData || window.clipboardData);

            var items = buffer.items;
            e.preventDefault();

            $.each(items,function(k,v){
                if (v.type.indexOf("image") != -1) {
                    var blob = v.getAsFile();
                    uploadImageFile(blob, insertImg);
                }
            });
        }
    }
});
...