Я пытаюсь получить изображение из буфера обмена.У меня есть стандартный приемник вставки событий, который я выяснил, как использовать для обычных данных изображения (копирование, скажем, из фотошопа) и обработку 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-адресами, но это кажется действительно хакерским и ненадежным.