【问题标题】:How to get the file object in `request.data` in Django?如何在 Django 的 `request.data` 中获取文件对象?
【发布时间】:2022-11-17 21:16:52
【问题描述】:
  1. 上传一个 tar 文件。

  2. 如何获取request.data中的文件对象?

    class AlbumViewSet(viewsets.ModelViewSet):
    
        @action(methods=['POST'], detail=False, url_path='upload-album')
        def upload_album(self, request):
            # Upload one tar file.
            logging.error("----> request.data = {}".format(request.data))
    

    谢谢

【问题讨论】:

    标签: python django django-rest-framework file-upload django-file-upload


    【解决方案1】:

    您可以在request.FILES 中获取文件对象。
    request.FILES 是包含所有上传文件的类似字典的对象。您可以通过名称访问您的文件对象,如下所示:request.FILES['my-file-name']

    例如,如果你想记录文件名::

    class AlbumViewSet(viewsets.ModelViewSet):
    
        @action(methods=['POST'], detail=False, url_path='upload-album')
        def upload_album(self, request):
            # Upload one tar file.
            logging.error("----> Uploaded file name = {}".format(request.FILES['my-file-name'].name))
    

    查看here了解更多详情。

    【讨论】:

    • 谢谢。但是当我打印request.FILES的时候,可以看到是<MultiValueDict: {}> [Print Log] root:----> request.FILES --> = <MultiValueDict: {}>
    • 谢谢,我终于找到答案了。我应该通过 Multipart/form-data 上传文件。
    猜你喜欢
    • 2016-09-06
    • 1970-01-01
    • 2017-03-31
    • 2021-01-25
    • 2016-02-24
    • 2010-10-20
    • 2020-04-23
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多