Fastify plugin to upload file.
Note: the v3.x series of this module covers Fastify v3. For Fastify v2 support refert to the v2.x series.
npm i fastify-file-upload --save
'use strict'
const fastify = require('fastify')()
const fileUpload = require('fastify-file-upload')
fastify.register(fileUpload)
fastify.post('/upload', function (req, reply) {
// some code to handle file
const files = req.raw.files
console.log(files)
let fileArr = []
for(let key in files){
fileArr.push({
name: files[key].name,
mimetype: files[key].mimetype
})
}
reply.send(fileArr)
})
fastify.listen(3000, err => {
if (err) throw err
console.log(`server listening on ${fastify.server.address().port}`)
})
fastify.post('/uploadSchema', {
schema: {
summary: 'upload file',
body: {
type: 'object',
properties: {
file: { type: 'object' }
},
required: ['file']
}
},
handler: (request, reply) => {
const file = request.body.file
console.log(file)
reply.send({ file })
}
})
fastify.register(fileUpload, {
limits: { fileSize: 50 * 1024 * 1024 },
});