2013-07-23 5 views
5

Sto costruendo un divertente esperimento di Chrome. Lo specchio dei baffi! http://sjoerddijkstra.nl/cam/ Desidero utilizzare l'API V3 Imgur per caricare un'immagine dalla tela a Imgur e quindi mostrare il collegamento, ma non so davvero come. Tutti gli esempi di lavoro che trovo sono utilizza l'API V2 ...Carica un'immagine canvas su imgur (api v3) con javascript

io uso canvas.toDataURL:

var dataURL = canvas.toDataURL("image/png"); 
return dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); 
+0

Applicazione hillarious! – samuraiseoul

risposta

8

documentazione Imgur è un pò scarsa IMO ma dopo aver chiesto in giro così ho trovato questo lavoro:

try { 
    var img = document.getElementById('myCanvas').toDataURL('image/jpeg', 0.9).split(',')[1]; 
} catch(e) { 
    var img = document.getElementById('myCanvas').toDataURL().split(',')[1]; 
} 

$.ajax({ 
    url: 'https://api.imgur.com/3/image', 
    type: 'post', 
    headers: { 
     Authorization: 'Client-ID <CHANGE_THIS_TO_BE_YOUR_CLIENT_ID>' 
    }, 
    data: { 
     image: img 
    }, 
    dataType: 'json', 
    success: function(response) { 
     if(response.success) { 
      window.location = response.data.link; 
     } 
    } 
}); 

Sostituire <CHANGE_THIS_TO_BE_YOUR_CLIENT_ID> con l'ID cliente si ottiene quando si registra l'app here (ho scelto il "utilizzo anonimo autorizzazione utente senza" l'opzione).