首页 > 解决方案 > 烧瓶石墨烯上传多个文件的正确方法

问题描述

我尝试使用 Upload Mutation 上传多个文件,但它不起作用,这很奇怪。

这是我的突变(它只接受单个文件并且工作正常)但我需要接受多个文件。怎么做?

class UploadMutation(graphene.Mutation):
    class Arguments:
        file = Upload(required=True)

    success = graphene.Boolean()

    def mutate(self, info, file, **kwargs):
        f = open('/home/dmitriy/flask/{}'.format(file.filename), 'wb')
        f.write(file.read())
        f.close()
        return UploadMutation(success=True)


标签: flaskgraphene-python

解决方案


我发现它已经可以接受多个文件了。下面是如何在烧瓶中使用它的示例

class UploadMutation(graphene.Mutation):
   class Arguments:
       file = Upload(required=True)
       name = graphene.String()

   success = graphene.Boolean()
   name = graphene.String()

   def mutate(self, info, name, **kwargs):
       files = request.files

       for k,v in files.items():
           f = request.files[k]
           f.save(os.path.join('/youpath', f.filename))
           print(k,v, name)

       # do something with your file


       return UploadMutation(success=True, name=files)



推荐阅读