GraphQL Client, как отформатировать загрузку файла на сервер - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь загрузить картинку на мой express-graphql сервер из моего приложения react-native.Я не хочу использовать react-apollo в качестве клиента graphql.

Мой сервер использует graphqlUploadExpress():

app.use(
  "/graphql",
  bodyParser.json(),
  graphqlUploadExpress(),
  expressGraphQL(req => ({
    schema,
    graphiql: true, // active graphic UI
   }))
);

Моя мутация выглядит так:

    mutation: async (root, { myString1, picture, myString2 }) => {

      try {
        const { filename, mimetype, encoding, createReadStream } = await picture;
        console.log(filename, mimetype, encoding, createReadStream);
      } catch (err) {
        console.log(err);
      }

MyДанные формата клиента, например, перед добавлением их в аргументы мутации:

    imageToBlob = (uri) => {
      return new Promise((resolve, reject) => {
        const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri;
        fetch(uploadUri)
          .then((response) => {
            const blob = response.blob();
            const formData = new FormData();
            formData.append('picture', blob);
            resolve(formData);
          })
          .catch((err) => {
            console.log(err);
            reject(err);
          });
      });
    };

Мой сервер мутаций print.log undefined undefined undefined undefined сервера мутаций, из-за которого я чувствую, что форматирование данных клиента неверно.

Итак, как мне обернуть файл, чтобы правильно отправить его на мой сервер?

Заранее спасибо

...