1

RESTFul APIをテストしていますが、ファイルとjsonデータを同時にアップロードする方法があるかどうかを知りたいです。

コマンドラインからこのコマンドを実行すると、次のようになります。

curl -v -X POST -d '{"label":"vacations", "date":"2011-01-03"}' -F photo=@"photo.png" http://localhost/album

このエラーが発生します: Warning: You can only select one HTTP request!

これを達成する方法は本当にありますか?

4

3 に答える 3

0

間に対立があるようです

-F photo=@"photo.png"

-d '{"label":"vacations", "date":"2011-01-03"}'

この2つのオプションのうち1つだけを使用できます。

私が思う最善のアプローチはbase64 encode、文字列の写真にそれをあなたのように置くことJSONです:

-d '{"label":"vacations", "date":"2011-01-03", "photo":"AE..."}'

そしてbase64 decodeそれはサーバー側です。

このスイッチを追加することもできます:

-H 'Content-type:text/json'
于 2013-03-12T17:30:46.677 に答える
0

@sputnickアプローチは機能します:)。

curlの代わりにpostman(Chrome拡張機能)を使用してRESTfulAPIをテストします。

于 2013-03-15T06:36:39.390 に答える
0

メタデータに-Fを使用することもできます。ここでErikAllikの回答を参照してください。

たとえば、次のようなものです。

curl -F 'json={"label":"vacations", "date":"2011-01-03"}' -F 'photo=@photo.png' http://localhost/album
于 2015-12-15T17:15:19.380 に答える