Javascript clipboardData.items и clipboardData.files пусты при вставке изображения

Я пытаюсь получить изображение из буфера обмена в javascript после этого сообщения: https://stackoverflow.com/a/6338207/6188783

document.onpaste = function (event) {
    console.info("paste triggered!");
    console.info("text: " + event.clipboardData.getData("text")); // shows text if it was pasted
    console.info("image: " + event.clipboardData.getData("image")); // always returns empty string p.s. I've also tried image/bmp and other formats 
    var items = (event.clipboardData || event.originalEvent.clipboardData).items;
    console.info(JSON.stringify(items)); // will give you the mime types
    for (index in items) {
        var item = items[index];
        if (item.kind === 'file') {
            var blob = item.getAsFile();
            var reader = new FileReader();
            reader.onload = function(event){
                console.info(event.target.result)}; // data url!
            reader.readAsDataURL(blob);
        }
    }
}

Проблема в том, что clipboardData.items и clipboardData.files всегда пусты для файлов. Когда я вставляю текст, его можно найти в массиве items. Некоторые ребята из комментариев говорят, что этот ответ не работает для новых браузеров, но я не смог найти, как это можно сделать сейчас. Пожалуйста помоги!

Заранее спасибо!

ОБНОВИТЬ

Я понял, что изображение не обрабатывается, когда оно копируется из папки. Если я копирую изображение, т.е. рисую, оно помещается в массив элементов. Как тогда я могу обработать файл изображения, скопированный из проводника Windows?

Я делаю нечто подобное и пробовал, что произошло, когда я копировал файл со своего рабочего стола. Вроде не узнают. Я предполагаю, что копирование файлов и их вставка не предназначены и не поддерживаются. Единственный способ прямо сейчас - либо использовать форму ввода, где вы можете выбрать файл, либо перетащить его. Вы даже можете перетаскивать каталоги. Мы просто можем надеяться, что вставка файлов в какой-то момент будет добавлена ​​как функция.

Tom-Oliver Heidel 12.06.2019 18:20

Я знаю, что он старый и не является ответом на вопрос, но это может помочь с использованием drag'n'drop, поэтому

René Baudisch 18.05.2020 15:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
2
3 284
0

Другие вопросы по теме