So i'm in this situation where the route /update-propic in user-router.js has correct use of express-fileupload middleware but /img/upload in image-host-router.js has req.files to null (obv even when files are sent)
I've also discovered that the first router "used"(aka imported) in server.js gets access to express-fileupload but the other ones do not
this is my folder tree:
server/
├─ src/
│ ├─ routers/
│ │ ├─ image-host-routes.js
│ │ ├─ user-routes.js
├─ server.js
server.js
...other requires
const fileUpload = require("express-fileupload");
// Init express
const app = express();
// Middlewares
app.use(fileUpload());
...other middlewares
// Login Routes
app.use(require("./src/routers/user-routes"));
// Blog Post Routes
app.use(require("./src/routers/blog-post-routes"));
// Comment Routes
app.use(require("./src/routers/comment-routes"));
// Image hosting routes
app.use(require("./src/routers/image-host-routes"));
const PORT = 5000;
app.listen(PORT, () => console.log(`Server is running on localhost:${PORT}`));
user-routes.js
...other requires
const express = require("express");
const router = express.Router();
//NOTE: no `use` middlewares present
router.post("/update-propic", checkAuthenticated, (req, res) => {
try {
console.log(req.files); // Console logs correctly the `files` object
} catch (err) {
//
}
});
img-host-routes.js
const express = require("express");
const router = express.Router();
router.post("/img/upload", [checkAdmin], (req, res) => {
try {
console.log(req.files); // Logs `null`
} catch (err) {
//
}
});