I have a code in order to upload image in Node.js. In this code, I’m using the “multer” module for image uploading. But I want to ensure that the token of the user is verified before he or she can upload any image to my server. How can I do this?
Here’s my full code:
<code>const express = require("express");
const multer = require("multer");
require("dotenv").config();
const app = express();
const router = express.Router();
app.use(router);
process.on("uncaughtException", (err) => console.error(err));
const storage = multer.createDiskStorage({
destination: (req, file, cb) => cb(null, "uploads"),
filename: (req, file, cb) => cb(null, Math.floor(Date.now() / 1000) + file.originalname)
});
const upload = multer({ storage: storage });
router.post("/upload-image", upload.single("image"), async (req, res, next) => {
if (req.file) {
res.status(200).json({ status: "OK", file_name: req.file.originalname });
return next();
}
else return res.status(400).json({ status: "Bad Request" });
});
app.listen(process.env.CLOUD_SERVER_PORT, process.env.CLOUD_SERVER_IP_ADDRESS, () => console.log("HTTP server is running...));
</code>
<code>const express = require("express");
const multer = require("multer");
require("dotenv").config();
const app = express();
const router = express.Router();
app.use(router);
process.on("uncaughtException", (err) => console.error(err));
const storage = multer.createDiskStorage({
destination: (req, file, cb) => cb(null, "uploads"),
filename: (req, file, cb) => cb(null, Math.floor(Date.now() / 1000) + file.originalname)
});
const upload = multer({ storage: storage });
router.post("/upload-image", upload.single("image"), async (req, res, next) => {
if (req.file) {
res.status(200).json({ status: "OK", file_name: req.file.originalname });
return next();
}
else return res.status(400).json({ status: "Bad Request" });
});
app.listen(process.env.CLOUD_SERVER_PORT, process.env.CLOUD_SERVER_IP_ADDRESS, () => console.log("HTTP server is running...));
</code>
const express = require("express");
const multer = require("multer");
require("dotenv").config();
const app = express();
const router = express.Router();
app.use(router);
process.on("uncaughtException", (err) => console.error(err));
const storage = multer.createDiskStorage({
destination: (req, file, cb) => cb(null, "uploads"),
filename: (req, file, cb) => cb(null, Math.floor(Date.now() / 1000) + file.originalname)
});
const upload = multer({ storage: storage });
router.post("/upload-image", upload.single("image"), async (req, res, next) => {
if (req.file) {
res.status(200).json({ status: "OK", file_name: req.file.originalname });
return next();
}
else return res.status(400).json({ status: "Bad Request" });
});
app.listen(process.env.CLOUD_SERVER_PORT, process.env.CLOUD_SERVER_IP_ADDRESS, () => console.log("HTTP server is running...));
New contributor
Example is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.