上传图片中使用JSON djangorestframework到的ImageField与卷曲测试这个

2019-06-26 04:06发布

我在djangorestframework几次的API。 这个我可以与API与命令行中的卷曲的HTML形式的测试两个。

现在我有一个API来一个模型一次性领域的ImageField的。

我想不通这curl命令使用。 使用我以前JSON格式FOT后操作使用的语法,这将是:

curl -X POST -S -H 'Content-Type: application/json' -u "username:password" --data-binary '{"otherfields":"something", "photo":"/home/michel/test.jpg"}' 127.0.0.1:8000/api/v1/

但在这种情况下,照片将不会保存和留空(照片是一个可选字段)

加入-T /home/michel/test.jpg我得到一个错误信息说127.0.0.1:800/api/v1/test.jpg不存在作为一个网址。

在djangorestframework的测试HTML表单,一切工作正常。

使用-F选项,它说我只能做一次1个请求......我也删除从数据的二进制数据类型

任何人可以帮助我如何使这个卷曲后用图像和JSON在1个命令的其它数据两者。

Answer 1:

长期的难题之后,这似乎这样的伎俩:

  • 把所有的JSON参数在不同的-F参数
  • 只使用头Accept (不是Content-Type
  • 并指定图像类型
  • 使用@来表示本地文件上传

     curl -X POST -S \ -H 'Accept: application/json' \ -u "username:password" \ -F "otherfields=something" \ -F "photo=@/home/michel/test.jpg;type=image/jpg" \ http://127.0.0.1:8000/api/v1/ 

顺便说一句,我知道这一切是卷曲的文档站点,只是错过了所有这些事情的例子在一起,因为有很多的选择尝试。



文章来源: upload image to imagefield with djangorestframework using json and test this with CURL