I am trying to make my server.js file smaller...so I broke out the multer config into it's own file. But I get TypeError: upload.single
is not a function on the upload
object I exported.
This was working when I had the whole multer code in server.js, the problem only came when I broke it out into it's own file and exported the object
multer-storage.js
const multer = require('multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
const path = `listing-pics/${req.body.internalUserID}`;
mkdirp.sync(path, { opts: { mode: 0755 } } );
cb(null, path);
},
filename: function (req, file, cb) {
const fileType = file.mimetype.split('/')[1];
const internalUserID = req.body.internalUserID;
const filename =
`${file.fieldname}-${internalUserID}-${Date.now()}.${fileType}`;
cb(null, filename);
},
limits: { fieldSize: 25 * 1024 * 1024 }
});
const upload = multer({ storage: storage });
module.exports = {
upload: upload
}
server.js:
const upload = require('./app/data/multer-storage');
api.route('/listings/:listingID/images')
.post(upload.single('image'), apiLogic.listingImages);
via dman
No comments:
Post a Comment