Skip to content

Commit 131f7ab

Browse files
added uploading images
1 parent 78a49a6 commit 131f7ab

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

controller/uploadCtrl.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const fs = require("fs");
2+
const asyncHandler = require("express-async-handler");
3+
4+
const {
5+
cloudinaryUploadImg,
6+
cloudinaryDeleteImg,
7+
} = require("../utils/cloudinary");
8+
9+
const uploadImages = asyncHandler(async (req, res) => {
10+
try {
11+
const uploader = (path) => cloudinaryUploadImg(path, "images");
12+
const urls = [];
13+
const files = req.files;
14+
for (const file of files) {
15+
const { path } = file;
16+
const newpath = await uploader(path);
17+
console.log(newpath);
18+
urls.push(newpath);
19+
fs.unlinkSync(path);
20+
}
21+
const images = urls.map((file) => {
22+
return file;
23+
});
24+
res.json(images);
25+
} catch (error) {
26+
throw new Error(error);
27+
}
28+
});
29+
const deleteImages = asyncHandler(async (req, res) => {
30+
const { id } = req.params;
31+
try {
32+
const deleted = cloudinaryDeleteImg(id, "images");
33+
res.json({ message: "Deleted" });
34+
} catch (error) {
35+
throw new Error(error);
36+
}
37+
});
38+
39+
module.exports = {
40+
uploadImages,
41+
deleteImages,
42+
};

routes/uploadRoute.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const express = require("express");
2+
const { uploadImages, deleteImages } = require("../controller/uploadCtrl.js");
3+
const { isAdmin, authMiddleware } = require("../middlewares/authMiddleware.js");
4+
const { uploadPhoto, productImgResize } = require("../middlewares/uploadImage.js");
5+
const router = express.Router();
6+
7+
router.post(
8+
"/",
9+
authMiddleware,
10+
isAdmin,
11+
uploadPhoto.array("images", 10),
12+
productImgResize,
13+
uploadImages
14+
);
15+
16+
router.delete("/delete-img/:id", authMiddleware, isAdmin, deleteImages);
17+
18+
module.exports = router;

0 commit comments

Comments
 (0)