【问题标题】: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.actionencoding 参数。

    如果设置为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.pyutils.py 了解故事的其余部分......

    【讨论】:

    • 这是正确的,应该被选为答案。
    猜你喜欢
    • 1970-01-01
    • 2017-07-17
    • 2015-10-06
    • 2015-04-12
    • 1970-01-01
    • 2015-11-29
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多