Я пытаюсь загрузить картинку на мой 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
сервера мутаций, из-за которого я чувствую, что форматирование данных клиента неверно.
Итак, как мне обернуть файл, чтобы правильно отправить его на мой сервер?
Заранее спасибо