我有一个 Django REST API,其中有一个带有 logo
标记的模型,它是一个文件 (ImageField
)。 curl
命令应该是这样的。我尝试过这种方法,但它对我不起作用:
curl -vX POST http://127.0.0.1:8000/client/ -d test.json --header "Conten-Type: application/json" -F "logo=@Downloads/trello.png"
最佳答案
不幸的是,JSON 不支持上传二进制文件,目前仅限于多部分请求。如果您不需要发送嵌套数据,并且您没有锁定 JSON,我建议您使用它。
解决方法是创建一个用于上传文件的新 View ,与需要 JSON 的 View 分开。它并非在所有情况下都有效,并且需要一个两步过程,但它也可以隔离您的问题。
另一个选项是创建(或查找)支持 JSON 上传的自定义字段,通常使用 base64 编码的字符串。
关于json - 需要使用 Curl 上传 JSON 和图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27504252/