我试图通过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没有损坏,我正在从包含图像的同一目录执行脚本/命令。
答案 0 :(得分:2)
试试这个:
$ curl -d "image=@reddit.png" ...
有关详细信息,请参阅the manpage of curl,并阅读-d --data
选项的说明。
修改强>
要对图像进行编码,请使用base64
utility:
$ base64 reddit.png > reddit.base64.png