Django-rest-fram中的多部分解析器

2024-03-28 11:35:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用django rest框架上传图像。但我有一个问题,当我使用postman表单时,它成功地上传了图像,但是当我试图在postman中输入json作为行时,它会返回这个错误。在

"The submitted data was not a file. Check the encoding type on the form."

这里是我的代码:

在序列化程序.py在

class UserImageCreateSerializer(serializers.HyperlinkedModelSerializer):
    user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())

    class Meta:
        model = UserImages
        fields = ('user', 'image',)

在视图.py在

^{pr2}$

我的请求:

{
"User": 79,
"image": "/path/to/image.jpg" }

注意:当我使用postman表单时,它上载成功;当使用django rest framework HTML表单时,它也能正常工作

我不知道我犯了什么错误。在

所以,任何人都有解决办法请帮帮我。在


Tags: thedjangopy图像image框架restjson
1条回答
网友
1楼 · 发布于 2024-03-28 11:35:57

通过在json上传数据中提供一个文件路径,无法上传图像文件 像这样:

{
"image": "/path/to/image.jpg"
}

如果您这样发送,django将把图像数据视为普通字符串而不是文件

这就是为什么你总是得到这个错误

^{pr2}$

您需要发送图像数据,而不是图像路径。在

下面是python请求上载图像的示例 https://stackoverflow.com/a/45611449/2679465

相关问题 更多 >