json - 需要使用 Curl 上传 JSON 和图像文件

标签 json django curl http-post django-rest-framework

我有一个 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/

相关文章:

java - Gson 输出 com.google.gson.JsonSyntaxException : java. io.EOFException:第 1 行第 501 列输入结束

python - Django REST框架: Purpose of CreateOnlyDefault

docker - 无法在docker-swarm上 curl traefik仪表板

php - 如何使用 CURL 在另一台服务器上请求 php 页面,然后处理响应

python - 在 Flask 中从 AngularJS 接收 JSON

php - JSON 到 PHP 关联数组

python - Django 模型每个外键单个实例

git - 如何使用 oAuth token 创建 bitbucket 存储库?

java - ajax 调用中的 Access-Control-Allow-Origin 到 jersey rest web 服务

python - 让用户编辑丰富内容的标准 Django 方式