Skip to content

Instantly share code, notes, and snippets.

@epalaz
Last active April 28, 2020 15:16
Show Gist options
  • Save epalaz/92f0048573b27462f765785f1d60129b to your computer and use it in GitHub Desktop.
Save epalaz/92f0048573b27462f765785f1d60129b to your computer and use it in GitHub Desktop.
Resolvers for File Upload Mutations
const resolvers = {
Mutation: {
singleUpload: (parent, args) => {
return args.file.then(file => {
const {createReadStream, filename, mimetype} = file
const fileStream = createReadStream()
fileStream.pipe(fs.createWriteStream(`./uploadedFiles/${filename}`))
return file;
});
},
singleUploadStream: async (parent, args) => {
const file = await args.file
const {createReadStream, filename, mimetype} = file
const fileStream = createReadStream()
//Here stream it to S3
// Enter your bucket name here next to "Bucket: "
const uploadParams = {Bucket: 'apollo-file-upload-test', Key: filename, Body: fileStream};
const result = await s3.upload(uploadParams).promise()
console.log(result)
return file;
}
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment