Imgur,负载图像上的错误请求

时间:2014-05-19 16:42:37

标签: jquery ajax post imgur

我编写了一个代码,允许我显示一次由表单选择的图像,然后使用api自动加载到imgur上。

仅用于显示图像的功能,当我发送上传请求时,它返回错误400.

加载图片的代码:

if (file.files && file.files[0]) {

            console.log('caricamento immagine: '+file.value);

            $.ajax({ 
                url: 'https://api.imgur.com/3/image',
                headers: {
                    'Authorization': 'Client-ID (my id)'
                },
                type: 'POST',
                data: {
                    'image': file.value
                },
                success: function(data) { 
                    var uri = data['upload']['links']['imgur_page'];

                    console.log(uri);
                }, 
                error: function(e) {
                    console.log(e); 
                }
            });

            return false;
}

1 个答案:

答案 0 :(得分:0)

可能是因为上传图片的网址与请求端点的网址不同。尝试将AJAX请求中的URL更改为:

url: 'https://api.imgur.com/3/upload'

还要确保image属性的数据是Base64,Binary或您尝试上传的图片的网址。否则你会收到错误。另外,您应该告诉Imgur您正在使用哪种类型,例如,如果Base64对图像进行编码,您的数据对象应如下所示:

data: {
    image: 'ZmlsZW5hbWU=', // example base64 string
    type: 'base64'
}

不需要定义类型,但它缩短了上传所需的时间,因为它不必解析字符串。

可以找到API的规范here。如果你想走那条路,你也可以查看base64_encode()的这个PHP函数。