0

非常にシンプルなバックオフィスの画像アップローダーを構築しようとしています。次のスニペットを使用して、Imgur Mashape API で画像をアップロードしています。しかし、エラーが発生し続けます: {"data":{"error":"Image format not supported, or image is corrupt.","request":"\/3\/image","method":"POST"},"success":false,"status":400}。エンドポイントを Mashape でテストすると、すべて正常に動作し、以前は 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/jsonapplication/x-www-form-urlencodedmultipart/form-data。しかし、ヘッダーのこの属性の仕様を完全に削除すると、すべてが機能しました。

したがって、誰かが同じ問題を抱えている場合は、私が設定した行を削除するだけで問題Content-Typeありません。

于 2016-03-30T06:03:03.833 に答える