/
home
/
infinitibizsol
/
.trash
/
controllers.4
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/controllers.4/imageUploadController copy.js
const { v2: cloudinary } = require("cloudinary"); const { CloudinaryStorage } = require("multer-storage-cloudinary"); const multer = require("multer"); const path = require("path"); const fsPromises = require("fs").promises; // Configuring your Cloudinary credentials cloudinary.config({ cloud_name: process.env.CLOUDINARY_CLOUD_NAME, api_key: process.env.CLOUDINARY_API_KEY, api_secret: process.env.CLOUDINARY_API_SECRET, }); // Setting up Cloudinary storage for multer const storage = new CloudinaryStorage({ cloudinary: cloudinary, params: { folder: "upload/", // The name of the folder in cloudinary // allowed_formats: ["jpg", "png"], }, }); const upload = multer({ storage: storage }); const extractImageIds = (req, res, next) => { if (req.files.length > 0) { // Map over `req.files.data` to extract the image IDs req.imageIds = req.files.map((file) => file.filename.split("/").pop()); } else { req.imageIds = []; } next(); }; const deleteImageFromLocal = async (fileName) => { try { await fsPromises.unlink(path.join("./", "uploads", fileName)); return true; } catch (error) { console.log(`warning message:${error}`); } }; // Delete image function using async/await async function deleteImage(publicId) { try { let result = await cloudinary.uploader.destroy(`upload/${publicId}`); console.log("Image delete result:", result); } catch (error) { console.log("Error in deleting image:", error); } } async function deleteBulkImages(imagesArray) { try { const updatedImagesArray = imagesArray.map( (imageId) => `upload/${imageId.imageUrl}` ); let result = await cloudinary.api.delete_resources(updatedImagesArray, { type: "upload", resource_type: "image", }); return result.deleted; } catch (error) { console.log("Error in deleting image:", error); } } module.exports = { upload, deleteImageFromLocal, extractImageIds, deleteImage, deleteBulkImages, };
Copyright ©2k19 -
Hexid
|
Tex7ure