Загрузите изображение холста в imgur (api v3) с помощью javascript

Я строю забавный Chrome-Experiment. Зеркало с усами! http://sjoerddijkstra.nl/cam/ Я хочу использовать Imgur API V3 для загрузки изображения из canvas в Imgur, а затем покажите ссылку, но я действительно не знаю, как это сделать. Все рабочие примеры, которые я нахожу, используют V2 API...

Я использую canvas.toDataURL:

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

person Sjoerd Dijkstra    schedule 23.07.2013    source источник
comment
Хитрое приложение!   -  person samuraiseoul    schedule 11.12.2013


Ответы (1)


Документация 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> идентификатором клиента, который вы получите при регистрации приложения здесь (я выбрал "анонимное использование без авторизации пользователя»).

person Community    schedule 10.08.2013