2017-02-05 27 views
2

私はreact-dropzonegraphql-server-express-uploadを使用して、GraphQL Apolloの画像をすべてアップロードしています。私のクライアントでは、ファイルは次のようになります。File on clientGraphQLサーバに画像をアップロード

しかし、私はそれをログインしたときに、サーバーに、それは次のようになります。

{ preview: 'blob:http://localhost:3000/c622b0bd-3f0d-4f52-91f4-7676c8534c59' } 

私はgraphql-server-express-uploadのREADMEの指示に従って、ありませんよこれまでの運どのようにして完全な画像を取得できますか?

+0

ユーザーのクエリ –

答えて

2

apollo-upload-clientを使用して終了しました。

+1

コードまたはgithubのリンクを追加できますか?大変感謝しています!そこにはほとんどコードがありません。ありがとうございました! –

4

別のアプローチは、クライアント側でアップロード前にバイナリイメージをBASE64に変換してから、そのイメージをBASE64文字列として、変異の引数として渡されたGraphQLInputObjectTypeに挿入することです。サーバー上でフィールドをデータベース列に保存するだけです。例えば:あなたがアップロードのための静的残りのルートを使用して、ファイルパスの応答をDBにその残りのルートと更新のresponse`filepath`をキャッチし、パスの中から画像を取得しない理由

const UserInputType = new GraphQLInputObjectType({ 
    name: 'UserInput', 
    description: 'The user of our system', 

    fields:() => ({ 
    username: { 
     type: GraphQLString, 
     description: 'Name of the user' 
    }, 
    image: { 
     type: GraphQLString, 
     description: 'Image of the user' 
    } 
    }) 
}); 
関連する問題