【发布时间】:2021-05-01 03:13:02
【问题描述】:
我试图解决这个问题,但我不明白为什么文件被上传但他的大小是 0Kb。 我在教程中看到了这段代码,但他在那个教程上工作,但对我不起作用
const { ApolloServer, gql } = require('apollo-server');
const path = require('path');
const fs = require('fs');
const typeDefs = gql`
type File {
url: String!
}
type Query {
hello: String!
}
type Mutation {
fileUpload(file: Upload!): File!
}
`;
const resolvers = {
Query: {
hello: () => 'Hello world!',
},
Mutation: {
fileUpload: async (_, { file }) => {
const { createReadStream, filename, mimetype, encoding } = await file;
const stream = createReadStream();
const pathName = path.join(__dirname, `/public/images/${filename}`);
await stream.pipe(fs.createWriteStream(pathName));
return {
url: `http://localhost:4000/images/${filename}`,
};
},
},
};
const server = new ApolloServer({
typeDefs,
resolvers,
});
server.listen().then(({ url }) => {
console.log(`???? Server ready at ${url}`);
});
那么当我上传文件时,它是上传的,但是文件是0kb
【问题讨论】:
标签: file-upload graphql apollo apollo-server apollostack