Копировать \ вставить в тип ввода = файл не работает в IE или Edge - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать функцию в jQuery / JS для загрузки изображений из буфера обмена в поле загрузки ввода. Код работает безупречно в Chrome и Firefox, но я не могу заставить его работать в Inte rnet explorer 11 или Edge. На Edge код показывает всплывающее сообщение с надписью «Success», но не заполняет объект files поля ввода. На IE он вообще ничего не делает.

CodePen: https://codepen.io/Kermit713/pen/zYGorez?editors=1111

Ниже моего кода:

$(function(){

    $("body").bind('paste', function(je){

        var e = je.originalEvent;

        var  inputFieldsIds = [
            'exampleInputId_1',
            'exampleInputId_2',
        ];

        if($('html').find('input[type=file]').length > 0){

            $('html').find('input[type=file]').each(function(){
                var inputField = $(this);

                if(jQuery.inArray(inputField.attr('id'), inputFieldsIds) !== -1){
                    clipboardToUpload(inputField,e);
                }
            });

        }

        function clipboardToUpload(inputField,e) {

            var fileInput = inputField[0];
            var clipboard = e.clipboardData.files;
            var hasImg = false;

            for (var i = 0; i < e.clipboardData.items.length; i++) {
                var item = e.clipboardData.items[i];

                if (item.type.indexOf('image') != -1) {

                    fileInput.focus();
                    fileInput.files = clipboard;
                    toastr.success('Succes');
                    hasImg = true;

                }
            }

            if(!hasImg){
                toastr.warning('No img')
            }
        }

    });
});

Делает Кто-нибудь знает решение для вставки изображения из буфера обмена в тип ввода = файл на Edge и IE?

...