加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何通过curl发送包含json对象和图像文件的multipart / form-dat

发布时间:2020-12-14 01:01:37 所属栏目:Linux 来源:网络整理
导读:例如,我通过终端尝试了该命令: curl -F "profileImage=@/home/user/image.jpg" -F "{'firstName':'hello'};type=application/json" http://127.0.0.1:8000/api/v1/signup/ 然后我收到了这样的请求对象: print request.FILES# MultiValueDict: {u'profileIm
例如,我通过终端尝试了该命令:

curl -F "profileImage=@/home/user/image.jpg" -F "{'firstName':'hello'};type=application/json" http://127.0.0.1:8000/api/v1/signup/

然后我收到了这样的请求对象:

print request.FILES
# <MultiValueDict: {u'profileImage': [<InMemoryUploadedFile: image.jpg (image/jpeg)>]}>
print request.DATA
# <QueryDict: {u"{'firstName':'hello'};content-type": [u'application/json']}>

图像没问题,但QueryDict没有正确表示 – 所有JSON文件都是密钥和内容类型
是一个价值.

在Django中使用这些解析器:

parser_classes = (MultiPartParser,FormParser,JSONParser,)

我需要通过JSON结构发送文本数据.

解决方法

如果要使用multipart / form-data content-type进行POST,则不能同时指定application / json.对此的简单修复是以url编码格式发送表单数据.试试这个命令:

curl -F "profileImage=@/home/user/image.jpg" -F "firstName=hello" http://127.0.0.1:8000/api/v1/signup/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读