Registry /
storage / multer-storage-cloudinary
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
CloudinaryStorage
✓ import { CloudinaryStorage } from 'multer-storage-cloudinary'
✗ const CloudinaryStorage = require('multer-storage-cloudinary')
Default export is an object with CloudinaryStorage. Named import required.
CloudinaryStorage (CommonJS)
✓ const { CloudinaryStorage } = require('multer-storage-cloudinary')
Correct CommonJS destructuring.
cloudinary (v2)
✓ import { v2 as cloudinary } from 'cloudinary'
✗ const cloudinary = require('cloudinary')
Must use v2 submodule. The raw require returns an object with v1 and v2.
Configures Cloudinary with env vars, creates CloudinaryStorage, and handles single file upload via Express route.
import { v2 as cloudinary } from 'cloudinary';
import { CloudinaryStorage } from 'multer-storage-cloudinary';
import multer from 'multer';
import express from 'express';
cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME ?? '',
api_key: process.env.CLOUDINARY_API_KEY ?? '',
api_secret: process.env.CLOUDINARY_API_SECRET ?? '',
});
const storage = new CloudinaryStorage({
cloudinary: cloudinary,
params: {
folder: 'uploads',
format: async (req, file) => 'png',
public_id: (req, file) => `${Date.now()}-${file.originalname}`,
},
});
const parser = multer({ storage });
const app = express();
app.post('/upload', parser.single('image'), (req, res) => {
res.json({
url: req.file.path,
public_id: req.file.filename,
});
});
app.listen(3000);
Errors
Common errors & fixes
TypeError: cloudinary.v2 is not a constructor
Using incorrect import for cloudinary v2
fixUse `import { v2 as cloudinary } from 'cloudinary'` or `const cloudinary = require('cloudinary').v2` Error: ENOENT: no such file or directory, open '...'
Sometimes occurs if params are async and return undefined
fixEnsure async functions always resolve to a valid value like string.
Audit
Dependencies
cloudinaryrequiredCore dependency for interacting with Cloudinary API
multerrequiredThe storage engine is designed to plug into multer