Wednesday, 16 September 2020

Form Data - multer

Im using Express and the multer package. I can't figure out why the form data isnt coming through to the request body object. The image is being downloaded but i cant access any of the form data. Not sure what i'm missing. I want to pass an id also./routes/images.jsconst router = require("express").Router(); //Add multipart/form parser const multer = require("multer"); const upload = multer(); //Auth Middleware const auth = require("../middlewares/auth"); //Image functions const { uploadImage } = require("../functions/image"); router.post("/", upload.any(), auth, uploadImage); module.exports = router; /functions/image.js//Upload an image to profile const uploadImage = async (req, res) => { return res.json(req.body); ... }; module.exports = { uploadImage }; /index.jsconst express = require("express"); const app = express(); const dotenv = require("dotenv"); const mongoose = require("mongoose"); //Import Routes const userRoute = require("./routes/user"); const postRoute = require("./routes/posts"); const profileRoute = require("./routes/profiles"); const { uploadImage } = require("./functions/image"); const auth = require("./middlewares/auth"); dotenv.config(); //Connect to DB mongoose.connect( process.env.DB_CONNECT, { useCreateIndex: true, useUnifiedTopology: true, useFindAndModify: false }, () => console.log("Connected to db.") ); //Express App Middleware //for parsing application/json app.use(express.json()); //for parsing application/x-www-form-urlencoded app.use(express.urlencoded({ extended: true })); //Route Middlewares app.use("/api/user", userRoute); app.use("/api/posts", postRoute); app.use("/api/profile", profileRoute); app.use("/api/image", uploadImage); //Static folder app.use(express.static("public")); app.listen(3000, () => console.log("Server up and running")); ​​

Submitted September 16, 2020 at 09:33PM by slimjimmys

No comments:

Post a Comment