2017-09-21 7 views
0

파일 업로드를하는 돌연변이를 만들려고합니다. 이 내가 GraphQL없이 시도하고 잘 작동 것입니다 :플라스크 및 그래 핀을 사용하여 파일을 업로드 하시겠습니까?

@app.route('/upload', methods=['POST']) 
def uploadFile(): 
    for key in request.files: 
     file = request.files[key] 
     file.save(os.path.join(UPLOAD_FOLDER, file.filename)) 

    return 'uploaded' 

하지만 GraphQL에서 작업을 수행하는 방법에 확실하지, 나는 my example repo이를 포함 할 그래서 모두가 그것을 수행하는 방법을 알고있다. Here's what Node.js의 파일 업로드에 사용합니다.

답변

0

사진 업로드 중입니다.

class Upload(graphene.Scalar): 
    def serialize(self): 
     pass 

class UploadPhoto(graphene.Mutation): 
    class Input: 
     photo = Upload() 
     id = graphene.String(required=True) 

    ok = graphene.Boolean() 

    @staticmethod 
    def mutate(root, args, context, info): 
     files = request.files 
     photo = files['variables.photo'] 

     return UploadPhoto(ok=True) 

class MyMutations(graphene.ObjectType): 
    upload_photo = UploadPhoto.Field() 

schema = graphene.Schema(query=XXX, mutation=MyMutations, types=[Upload]) 

씨 : https://github.com/graphql-python/graphene-django/issues/101#issuecomment-331079482