Загрузка изображения imgur не будет работать с данными base64?

Я пытался более 3 часов заставить imgur принимать данные base 64, но безрезультатно, я подтвердил, что данные верны, я подтвердил, что могу отправить в imgur с помощью URL-изображения, я просто могу не заставить его работать. Код, который я использую, выглядит следующим образом:

$(document).ready(function(){
            function readImage(input) {
                var FR= new FileReader();
                FR.onload = function(e) {
                    console.log(e.target.result);
                    $.ajax({
                                url: 'https://api.imgur.com/3/image',
                                type: 'post',
                                headers: {
                                    Authorization: 'Client-ID 40dbfe0cfea73a7'
                                },
                                data: {
                                    image: e.target.result
                                },
                                dataType: 'json',
                                success: function(json) {
                                    console.log(json);
                                },
                                error: function(json) {
                                    console.log(json);
                                }
                            });
                };       
                FR.readAsDataURL( input );
            }
    });

input - это ввод формы, который я получаю от dropzone.js, и пример данных base64:

данные: изображения / PNG; base64, iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAIAAAAGQrq6AAAABnRSTlMA / gABAP1bbA07AAAD + klEQVR4nO3dMW4sNxBAQa3h + 19ZDhwzoNE0H / dXpRJGo90HBg3O8PP7 + / SDT / 11 + wbg50eIRAiRBCGSIEQShEiCEEn4e / WDZ + fzf97Hf7aag9buf3deu7r / В / 7fldX9WxFJECIJQiRBiCQIkQQhkiBEEpZzxJVb + xd352Sv3Odpr3wOVkQShEiCEEkQIglCJEGIJAiRhO054srU / Gxq7nV67rh7 / dp8sfZ9WRFJECIJQiRBiCQIkQQhkiBEEsbmiDWnn / + dur73U / 7LikiCEEkQIglCJEGIJAiRBCGS8LVzxF277yN8 / е / WWBFJECIJQiRBiCQIkQQhkiBEEsbmiLW519Q5Jbee / z09X6x9X1ZEEoRIghBJECIJQiRBiCQIkYTtOWLtPX + n7c4dp35 / yivflxWRBCGSIEQShEiCEEkQIglCJOFT25d2y + k5X + 1ckxorIglCJEGIJAiRBCGSIEQShEjCcj9ibb / d1PklU + csn36 + eGruOHX / p3uwIpIgRBKESIIQSRAiCUIkQYgkLOeItedta + 81rM3npty6HysiCUIkQYgkCJEEIZIgRBKESMLxc1ZunXdy + n523br + yul9mbvXtyKSIEQShEiCEEkQIglCJEGIJGy / Н / H0PryVV / b53Zpfnn5 + / T + VCsiCUIkQYgkCJEEIZIgRBKESMK1c1Zemaut1Oapr38 + VkQShEiCEEkQIglCJEGIJAiRhLHnmm + dR7JSm6tNOf1 + xF3ej8hXESIJQiRBiCQIkQQhkiBEErbPa145fT7y7t + dev9i7bzp3eu / SJ / SikiCEEkQIglCJEGIJAiRBCGSMHZe89RzyqfnXiu3zkd + 5VzmXbvXsSKSIEQShEiCEEkQIglCJEGIJBzfj7j7 + 6 + фл / Ktzx3vXt8ckS cJkQQhkiBEEoRIghBJECIJY / sRp9x6jvi0W / v8VqaeN5 / ab2pFJEGIJAiRBCGSIEQShEiCEEkY2494y + l9kLvzsFfOvz59nV1WRBKESIIQSRAiCUIkQYgkCJGE7fOaa3Oyldo50affg / JK / 7tiRSRBiCQIkQQhkiBEEoRIghBJ2J4jrtTmYSunz48 + РФ + Q88181WESIIQSRAiCUIkQYgkCJGEsTnitzp93vSt82ZOz1PtR + RJQiRBiCQIkQQhkiBEEoRIwtfOEW + 9529q3nb6OeiVqXmk / Yg8SYgkCJEEIZIgRBKESIIQSRibI956b + LKrXONp + Z / p89NmTL1OVsRSRAiCUIkQYgkCJEEIZIgRBK254i19wWuTJ13UnteePc6t85NsR + RJwmRBCGSIEQShEiCEEkQIgmf2j5C / kxWRBKESIIQSRAiCUIkQYgkCJGEfwDA94Tqvnz2uQAAAABJRU5ErkJggg ==

Я получаю сообщение об ошибке 400, что означает (согласно документам, что A) я пропускаю параметр или использование недопустимого значения. или B) изображение повреждено или имеет недопустимый формат. Для меня это не имеет смысла, потому что копирование этих данных base64 в браузер работает нормально, авторизация работает нормально, и я знаю, что могу загрузить, если изображение является URL-адресом. Так что я не уверен, что здесь происходит! Если вам нужны дополнительные данные, сообщите мне, и я обновлю этот вопрос как можно скорее! Большое спасибо вам, ребята!


person samuraiseoul    schedule 11.12.2013    source источник
comment
Замените data:image/png;base64 пустой строкой, см. jsfiddle.net/jasdeepkhalsa/L5HmW и stackoverflow.com/questions/15709515/   -  person Tobiasz    schedule 11.12.2013
comment
Ничего себе, это сработало, я чувствую себя идиотом, большое спасибо! Я приму ответ, если вы его поставите. :)   -  person samuraiseoul    schedule 11.12.2013


Ответы (1)


Вы должны заменить «data:image/png;base64» пустой строкой, обратитесь (добавьте сюда адреса JSFiddle, потому что SO не разрешает ссылки на fiddle без кода) jasdeepkhalsa/L5HmW/ или Сохранить изображение в кодировке base64 с запросом AJAX в PHP

person Tobiasz    schedule 11.12.2013
comment
Я сделал это, и я просто получаю пустое изображение от imgur!! Знаете, что еще может быть? Мой вызов ajax: url: 'api.imgur.com/3/image', заголовки : {Авторизация: Client-ID [идентификатор клиента здесь]}, тип: 'POST', данные: {'image': img, 'type': 'base64', 'title': imgurTitle}, успех: функция (результат) { } - person tx291; 17.11.2016