2013-07-23 83 views
5

我正在構建一個有趣的Chrome實驗。小鬍子鏡子! http://sjoerddijkstra.nl/cam/ 我想使用Imgur API V3從te canvas上將圖片上傳到Imgur,然後顯示鏈接,但我真的不知道如何。所有工作的例子,我發現使用的是V2 API ...使用javascript將畫布圖像上傳到imgur(api v3)

我用canvas.toDataURL:

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

Hillarious application! – samuraiseoul

回答

8

Imgur文檔是有點差,但IMO要求在SO左右後,我發現這個工作:

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; 
     } 
    } 
}); 

更換<CHANGE_THIS_TO_BE_YOUR_CLIENT_ID>與客戶端ID當您註冊您的應用程序here你(我挑選項中的「無用戶授權匿名使用」)。