Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pasting from a file browser and HTML5 Clipboard API

I'm trying to add an image paste function to my web application, using the standard routine:

$('textarea').on('paste', function (ev) {
    var clipboardData = ev.originalEvent.clipboardData;

    $.each(clipboardData.items, function (i, item) {
        if (item.type.indexOf("image") !== -1) {
            var reader = new FileReader();

            reader.readAsDataURL(item.getAsFile());
            reader.addEventListener('loadend', ...);
            ...
        }
    });
});

The full sample can be found here: http://jsfiddle.net/t8t2zj6k/

It works correctly when I copy & paste an image from an image viewer software, but when I'm trying to do the same thing using a file browser (e.g. Finder on Mac or Nautilus on Linux) as a result I get only a text string with the file path or even an image with file type icon instead of an original file.

Is there any way to handle pastes from a file browser properly?

like image 476
NikitaBaksalyar Avatar asked Apr 18 '15 19:04

NikitaBaksalyar


2 Answers

Seems to maybe be an issue with Chrome? I don't see anything in Safari or Firefox. http://code.google.com/p/chromium/issues/detail?id=361980

like image 143
lemieuxster Avatar answered Sep 29 '22 22:09

lemieuxster


Maybe you would like to paste image as data:

Go look at HTML5 paste image to page

like image 21
michelek Avatar answered Sep 29 '22 23:09

michelek