我正在尝试将图片从我的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);
}
我的客户端在将数据添加到变异参数之前是这样格式化数据的:
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);
});
});
};
我的变异服务器console.log打印undefined undefined undefined undefined
,使我感到客户端数据格式错误。
那么我应该如何包装文件以将其正确发送到服务器?
预先感谢