Загрузка нескольких изображений в Imgur через их API - PullRequest
0 голосов
/ 02 июня 2019

Хорошо, просто чтобы уйти от этого, PHP не является опцией, так как код этого проекта должен быть доступен для просмотра через браузеры через источник и инспектор страниц chrome и все такое. Я пытаюсь загрузить несколько изображений одновременно (через файл ввода HTML), и у меня возникли некоторые проблемы. Мне был предоставлен код, который должен работать только с одним файлом, и он работает, но при внедрении его в цикл for он не работает должным образом, он только загружает первое изображение, а затем выдает ответ и только это.

var files = $("#upload").get(0).files;
for (var i = 0; i < files.length; i++) {
    if (files[i]) {
        var apiUrl = 'https://api.imgur.com/3/image';
        var apiKey = '<apiKey>';
        var settings = {
            async: false,
            crossDomain: true,
            processData: false,
            contentType: false,
            type: 'POST',
            url: apiUrl,
            headers: {
            Authorization: 'Client-ID ' + apiKey,
            Accept: 'application/json'
            },
            mimeType: 'multipart/form-data'
        };
        var formData = new FormData();
        formData.append("image", files[i]);
        settings.data = formData;

        var urlObj = URL.createObjectURL(files[i]);
        $("#sortable").html("");
        $("#sortable").append("<img src='" + urlObj + "' id='" + (i + 1) + "' class='unuploaded ui-state-default'>");

        // Response contains stringified JSON
        // Image URL available at response.data.link
        $.ajax(settings).done(function(response) {
            $("#" + (i+1)).src = response.data.link;
            $("#" + (i+1)).removeClass("unuploaded");
        });
    }
}
...