Back to Bricks
File Upload (Cloudinary)
UtilitiesUpload images or files to Cloudinary using Multer. Returns secure URL.
uploadimagefilecloudinaryAuth Required
Backend:Frontend:
controllers/uploadController.jsjavascript
1const cloudinary = require('cloudinary').v2;2const fs = require('fs');3 4cloudinary.config({5 cloud_name: process.env.CLOUDINARY_CLOUD_NAME,6 api_key: process.env.CLOUDINARY_API_KEY,7 api_secret: process.env.CLOUDINARY_API_SECRET8});9 10exports.uploadFile = async (req, res) => {11 try {12 if (!req.files || Object.keys(req.files).length === 0) {13 return res.status(400).json({ error: 'No files uploaded' });14 }15 16 const file = req.files.file;17 18 // Assumes express-fileupload or similar usage, otherwise adapt for multer logic19 // For scaffolding simplicity we assume valid file object20 const result = await cloudinary.uploader.upload(file.tempFilePath, {21 folder: 'legoapi_uploads'22 });23 24 res.json({25 success: true,26 url: result.secure_url,27 public_id: result.public_id28 });29 } catch (error) {30 res.status(500).json({ error: error.message });31 }32};Paste Guide
Copy files to:
models/File Upload (Cloudinary).jscontrollers/uploadController.jsroutes/uploadRoutes.jsAdd to server.js:
app.use('/api/upload', require('./routes/uploadRoutes'));Stack
MulterCloudinaryExpress
Test Examples
curl -X POST http://localhost:5000/api/upload \
-H "Authorization: Bearer TOKEN" \
-F "file=@image.jpg"