4

我需要在一个请求中通过 curl 将文件和 JSON 对象发布到 API(Ruby On Rails)。我的请求如下所示:

curl --data @file.pdf -H "Accept: application/json" -H "Content-Type: multipart/form-data"  -X POST -d '{"document":{"name":"file name"}}' http://localhost:3000/api/documents

但是 Rails 解析它很糟糕。服务器上的参数:

Parameters: {"{\"document\":{\"name\":\"file name\"}}"=>nil}

问题出在哪里?

4

1 回答 1

3

您应该传递multipart/form-data(如您指定的那样),而不是 JSON 字符串。尝试这个:

-d 'document[name]=file name'

我的机器上的结果:

Parameters: {"document"=>{"name"=>"file name"}}
于 2013-10-29T08:04:27.887 回答