通过CURL在imgur上传图像时出错

时间:2012-09-07 06:54:31

标签: bash curl imgur

我试图通过CURL访问他们的API来上传imgur上的图像。我试过了:

curl -d "image=reddit.png" -d "key=myapikey" http://api.imgur.com/2/upload.json

它提出了一个着名的错误:

{"error":{"message":"Image format not supported, or image is corrupt.","request":"\/\/2\/upload.json","method":"post","format":"json","parameters":"image = reddit.png, key = myapikey"}}

在编写简单的bash脚本时,我也遇到了同样的问题

#!/bin/bash 

API_KEY="myapikey"                                                                                                                                            
file="$1"                                                                                                                                      

output=$(curl -d "image=$file" -d "key=$API_KEY" http://api.imgur.com/2/upload.json)                                                           

echo $output 

ouytput与上面的错误信息相同。我用jpg/png尝试了它,两种格式都引发了同样的错误。

所以,不知道我在这里做错了什么。

PS:我的imnage没有损坏,我正在从包含图像的同一目录执行脚本/命令。

1 个答案:

答案 0 :(得分:2)

试试这个:

$ curl -d "image=@reddit.png" ...

有关详细信息,请参阅the manpage of curl,并阅读-d --data选项的说明。

修改

要对图像进行编码,请使用base64 utility

$ base64 reddit.png > reddit.base64.png