【问题标题】:File upload with Django REST Framework and coreapi使用 Django REST Framework 和 coreapi 上传文件
【发布时间】:2017-02-28 03:10:13
【问题描述】:
是否可以在具有 FileField 的模型中使用 HyperlinkedModelSerializer 将文件上传到 DRF?
我正在使用 utils 包中的 coreapi File 类,而 coreapi 抱怨 File 对象不是 JSON 原语(原文如此)。
查看代码,架构必须说编码必须是多部分形式。
在哪里可以找到将此类文件上传到 DRF 到具有 FileField 的模型的工作示例?
【问题讨论】:
标签:
file-upload
django-rest-framework
core-api
【解决方案1】:
所以...阅读the code 我遇到了client.action 的encoding 参数。
如果设置为multipart/form-data,则该文件被正确编码并且不验证为 JSON 字段,而是作为正文参数。
with open('/Users/Jonathan/Desktop/test.png', 'rb') as f:
client.action(schema, ['incidents', 'create'], params={ 'file': utils.File('test.png', f) }, encoding="multipart/form-data")
通读transports/http.py 和utils.py 了解故事的其余部分......