A simple streaming GridFs storage provider for multer
Usage:
// get dependencies
var Grid = require('gridfs-stream');
var multer= require('multer');
//
var storage = require('@typi/gfs-storage');
var myUpload=multer({
...
storage: storage({
//function thay provides some gridfs-stream implementation depnending
//the request and file structure (see multer documentation on _handleFile)
provider: (req, file)=>...
(req, file, cb)=>...
//(optinal) function that generates some additional metadata to
// be stored with the file.
// filename and mime-type come directly from request
metadata: function (req, file){
// for example:
return {
url: req.originalUrl,
user: req.loggedUserId
}
}
//(optional) chunkSize paramter for the gfs.createWriteStream
chunkSize: 256
})
}));
...
// use myUpload middleware somewhere:
app.use(myUpload)