2015-04-18 8 views
5

Sto cercando di aggiungere una funzione di pasta di un'immagine per la mia applicazione web, utilizzando la routine di serie:incolla da un file browser e HTML5 Appunti API

$('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', ...); 
      ... 
     } 
    }); 
}); 

Il campione completo può essere trovato qui: http://jsfiddle.net/t8t2zj6k/

Funziona correttamente quando copio & incolla un'immagine da un software di visualizzazione immagini, ma quando sto cercando di fare la stessa cosa utilizzando un browser di file (ad esempio Finder su Mac o Nautilus su Linux) come risultato ottengo solo un stringa di testo con il percorso del file o anche un'immagine con l'icona del tipo di file invece di un file originale.

C'è un modo per gestire correttamente le paste da un browser di file?

+0

Forse questo potrebbe aiutare? http://stackoverflow.com/questions/6333814/how-does-the-paste-image-from-clipboard-functionality-work-in-gmail-and-google-c – lemieuxster

+0

@lemieuxster, grazie, ma sfortunatamente sono già utilizzando la stessa identica soluzione fornita nella risposta accettata. Il mio caso è un po 'diverso - mentre la funzione di base della pasta sta funzionando bene, c'è un problema con l'incollare da Finder. – NikitaBaksalyar

+0

Sembra essere un problema con Chrome? Non vedo nulla in Safari o Firefox. https://code.google.com/p/chromium/issues/detail?id=361980 – lemieuxster

risposta

Problemi correlati