Загрузка файла с узла Graphql - PullRequest
1 голос
/ 20 апреля 2020

В настоящее время я пытаюсь внедрить серверы Apollo Federated. Однако проблема, с которой я сталкиваюсь, состоит в том, что федерация apollo не передает файлы распознавателям в федеративных службах.

Итак, в шлюзе мне нужно отправить файл в мою конечную точку отдыха, см. Ниже

 /**
     * ApolloServer
     */
    const server = new ApolloServer({
      schema, 
      executor: executor as any,
      subscriptions: false,
      plugins: [
        {
          //@ts-ignore
          async requestDidStart({ request }) {

               const { createReadStream, filename, mimetype, encoding } = await request.variables?.uploadFile
               const file = createReadStream()

               let formData = new FormData;

               formData.append('name', filename)

               formData.append('file',file, {
                filename: filename,
                contentType: mimetype
               })

               fetch('http://my-api/api/v1/file', {
                method: 'post',
                body:   formData,
              //   headers: {
              //      "Content-Type": "multipart/form-data",
              // },
              }).then(res => res.json())
              .then(json => console.log(json));

                // console.log(filename)
                // console.log(mimetype)
                // console.log(encoding)
                // console.log(file)





          }
        },
      ],
      context: ({ req }) => {
        // Get the jwtToken from the client
        const token = req.headers.authorization || '' // headers SENT to gateway
        return { token: token }
      },
      debug: ENV.NODE_ENV !== 'development' ? true : false 
      // formatError: err => formatError(err)
    }) as any

Когда я использую этот метод. Файл пуст на моей конечной точке отдыха, которая написана в люменах. Любой совет будет очень полезен!

...