2014-11-25 46 views
1

我正在使用django-rest-framework,并且我有一个注册表单,它接受一些包含用户图像文件的数据。使用HTTP cURL发布JSON数据与图像文件

我该如何使用cURL来模拟这个?我可以发布JSON数据,如下所示:

curl -i -X POST -H "Content-Type: application/json" -d '{"email_address":"[email protected]", "password": "Password", "display_name": "mark", "full_name": "Mark", "gender": "M", "date_of_birth": "1955-05-05", "location_id": "3"}' http://localhost/register 

如何将图像字段添加到此表单中?

+0

不是您的问题的直接答案,但我强烈建议您查看适用于Chrome的Postman REST客户端。虽然它对命令行脚本没有用处,但这个插件非常适合在开发过程中尝试使用REST接口。 – 2014-11-25 16:39:13

回答

3

完成此操作的方法是完全删除-d选项,并用每个所需字段的后续-F选项进行替换。以下是一个示例:

curl -i -F "[email protected]" -F "password=password" -F "display_name=mark10" -F "full_name=Mark Ten" -F "gender=M" -F "date_of_birth=1955-01-01" -F "location_id=3" -F "[email protected]/path/to/pic.jpg" http://localhost:1989/api/rest/v1/register 
+0

为什么我得到错误:curl:(26)无法打开文件“/path/to/pic.jpg”?谢谢! – 2016-01-14 11:11:53

+0

权限或文件不存在?或者文件被锁定? – 2016-01-14 19:54:03

+1

感谢字符编码问题。 – 2016-01-15 02:09:41