0

我正在尝试构建一个非常简单的后台图像上传器。我正在使用以下代码段通过 Imgur Mashape API 上传图像。但我不断收到错误: {"data":{"error":"Image format not supported, or image is corrupt.","request":"\/3\/image","method":"POST"},"success":false,"status":400}. 当我在 Mashape 上测试 Endpoint 时,一切正常,并且之前仅使用 Imgur API 成功使用了相同的功能。我觉得我错过了一些东西,但尽管进行了研究,但我找不到合适的解决方案。我应该如何继续才能使用纯 JavaScript 中的 Mashape Imgur API 上传图像?

var uploadImg = function( file ) {
        if (!file || !file.type.match(/image.*/)) return;

        var fd = new FormData();
        fd.append("image", file);

        var xhr = new XMLHttpRequest();
        xhr.open("POST", "https://imgur-apiv3.p.mashape.com/3/image");
        xhr.onload = function() {
            console.log(xhr.responseText);
        }

        xhr.setRequestHeader('Authorization', 'Client-ID my_Client-Id');
        xhr.setRequestHeader('X-Mashape-Key', 'My_MASHAPE_Key');
        xhr.setRequestHeader('Content-Type', 'multipart/form-data');
        xhr.send(fd);
    }
4

1 回答 1

0

Content-Type我从我看到的示例中尝试了不同的标题值。以下均无效:application/json, application/x-www-form-urlencoded, multipart/form-data. 但是完全删除此标头属性的规范使一切正常。

因此,如果有人遇到同样的问题,只需删除我设置的行,Content-Type你应该没问题。

于 2016-03-30T06:03:03.833 回答