程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误?

开发过程中遇到Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误的问题如何解决?下面主要结合日常开发的经验,给出你关于Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误的解决方法建议,希望对你解决Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误有所启发或帮助; @H_301_0@如果要发送multipart / form-data,则应使用MultiPartParser而不是FormParser。

解决方法

我是django和Django REST
Framework的新手。我有以下序列化程序类,用于与其他信息一起上传文件。但是,当我使用上传的文件运行API端点时,结果是这样的

http 415 Unsupported Media Type
Allow: POST,OPTIONS
Content-Type: application/json
Vary: Accept

{
    "detail": "Unsupported media type \"multipart/form-data; boundary=----WebKitFormBoundaryybZ07gjZAqvcsZw3\" in request."
}

我通过谷歌搜索努力解决了这个问题,但无法解决,因此这里是我的序列化程序和API视图。

序列化器:

class Exampleserializer(serializers.serializer):

    example_id = serializers.IntegerField()
    description = serializers.CharField(allow_blank=TruE)
    example_file = serializers.FileField(allow_empty_file=TruE)

    def create_requirement_line(self):
        request = self.context['request']

        requirement_line = Exampleservice().example_method(
            example_id=self.validated_data['example_id'],description=self.validated_data['description'],example_file=self.validated_data['example_file']
    )
    return requirement_line

视图:

 class requirementLineAPIView(BaseCreateAPIView):

    serializer_class = Exampleserializer
    parser_classes = (FormParser,)

    def post(self,request,format=None,*args,**kwargs):
        serializer = self.get_serializer(data=request.data)

        if serializer.is_valid():
            try:
                example_variable = serializer.example_method()
                return Response(example_variable,status=status.http_200_OK)

            except ValidationError as e:
                return Response(e.message,status=status.http_400_BAD_requEST)

        return Response(serializer.errors,status=status.http_400_BAD_requEST)

大佬总结

以上是大佬教程为你收集整理的Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误全部内容,希望文章能够帮你解决Django REST Framework文件上传导致“不支持的媒体类型'multipart / form-data'”错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。