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 に答える