1

我正在尝试通过 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 

输出的错误信息与上面相同。我尝试了jpg/png两种格式都引发了相同的错误。

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

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

4

1 回答 1

2

试试这个:

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

有关详细信息,请参阅curl 的联机帮助页并阅读该-d --data选项的说明。

编辑:

要对图像进行编码,请使用base64实用程序

$ base64 reddit.png > reddit.base64.png
于 2012-09-07T07:00:26.630 回答