2013-04-11 18 views
6

Ho fatto qualche ricerca per un editor wysiwyg e ho trovato ckeditor che sembra essere carino, ma devo essere in grado di copiare/incollare un'immagine nell'editor.Incolla l'immagine in una pagina web

Ho trovato questo sito web che fa esattamente ciò di cui ho bisogno http://pasteboard.co/ quindi è possibile tuttavia non riesco a trovare come è fatto.

Avete idee o soluzioni?

Preferirei una soluzione in puro html5/javascript ed evitare qualsiasi plug-in, ma anche silverlight o flash sono accettabili.

+0

Perché il voto basso? –

+0

Non ho votato, ma direi che è perché stai chiedendo una soluzione senza prima provare qualcosa. – Daedalus

+0

Ho provato prima di pubblicare questa domanda come faccio sempre ma quello che ho trovato non funzionava o solo su Chrome quindi non pensavo valesse la pena pubblicarlo –

risposta

9

Ci sono due modi in cui puoi gestire questo, in modo semplice e nel modo più difficile.

The Easy Way: Utilizzare il Clipboard API. Questa è un'API "HTML5", ma è supportata correttamente solo in Chrome. Ciò ti consentirà di accedere a un'immagine incollata, dagli appunti, come Blob. È quindi possibile inviare questo Blob al server tramite una richiesta XHR2.

The Hard Way: Sfortunatamente, questo è quello che devi fare per tutti i browser tranne Chrome e non è bello. Ti coinvolge nella creazione di un DIV modificabile con contenuti nascosti all'interno di un "incolla elemento target". Questo riceverà l'immagine incollata. Sarà quindi necessario disegnare l'immagine su un <canvas> che dovrà quindi essere convertito in un Blob. Ma aspetta, migliora. Potrebbe inoltre essere necessario eseguire il proxy delle immagini interdominio (lato server) in alcuni casi (probabilmente in molti casi). Questo potrebbe essere necessario se il server che ospita l'immagine non consente le richieste CORS sulle immagini che ospitano. Puoi leggere ulteriori informazioni su questa situazione in this MDN article.

Un uploader basato su javascript che mantengo, Fine Uploader, supporta già il caricamento delle immagini tramite incolla, ma solo in Chrome in questo momento. Ho pensato che avrei affrontato il problema di implementare questo nei browser API non Clipboard se avessi ricevuto abbastanza richieste. Francamente, però, dal momento che la gestione di immagini non abilitate per CORS in browser che non implementano l'API Clipboard richiede il proxy del lato immagine del server, difficilmente sembra che valga la pena (a meno che, ovviamente, la mia base utente non mi dica che lo vogliono).

Spero che questo aiuti.

+0

Il modo più difficile per me è buono. Ho visto che in Firefox la copia incolla funziona ma l'immagine è incollata come url di dati c'è un modo per usare questo comportamento e implementare il contenuto modificabile div solo per IE? Non ho alcun problema se funziona solo in IE10 –

+0

Solo per informazioni ho usato il repository Github di pasteboard.co ei tuoi link per implementare una soluzione https://github.com/JoelBesada/pasteboard –