Как получить изображение из буфера обмена при копировании в браузерах? Правой кнопкой мыши> Копировать изображение? - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь получить изображение из буфера обмена.У меня есть стандартный приемник вставки событий, который я выяснил, как использовать для обычных данных изображения (копирование, скажем, из фотошопа) и обработку URL-адресов (на стороне сервера).

document.addEventListener('paste', function(e) {
    if (paste.kind == 'file') { /*handle as file */ }
    else if (paste.kind == 'string' && paste.type == 'text/plain') { /*handle as url*/}
});

Что я не понимаюкогда вы копируете изображение с веб-страницы через браузер (щелкнув правой кнопкой мыши и выбрав Копировать изображение).Это вернет пасту, где kind == 'string' и paste.type == 'text/html'.Если я получаю строку, это дает мне что-то вроде этого:

<html><body>
<!--StartFragment--><img src="https://upload.wikimedia.org/wikipedia/commons/8/8e/Bilevel_1bit_palette_sample_image.png" alt="https://upload.wikimedia.org/wikipedia/commons/8/8e/Bilevel_1bit_palette_sample_image.png"><!--EndFragment-->
</body>
</html>

Есть ли способ просто получить данные изображения, как я это делаю при копировании данных из не веб-источников, таких как photoshop?

Я знаю, что я мог бы технически проанализировать текст и найти URL-адрес изображения, а затем обработать его, как я это делаю с вставленными URL-адресами, но это кажется действительно хакерским и ненадежным.

...