通过其API将多个图像上传到Imgur

时间:2019-06-02 16:29:45

标签: javascript jquery html imgur

为了避免这种情况,PHP不是一个选择,因为必须通过chrome的页面源代码和检查器等通过浏览器来访问该项目的代码。 我正在尝试一次上传多张图片(通过HTML的input = file),但遇到了一些麻烦。 提供给我的代码应该只能用于一个文件,并且可以,但是在将其实现为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");
        });
    }
}

0 个答案:

没有答案