delta-file-multer
v1.0.1
Published
A simple plug-n-play file upload middleware using Multer and MongoDB
Downloads
10
Maintainers
Readme
📦 delta-file-multer
A plug-and-play file upload handler built on top of Multer and Mongoose. Save images/files to disk and store their filenames in MongoDB — all in a single line of configuration!
🚀 Installation
Install via NPM:
npm install delta-file-multer🔹 Usage
1️⃣ Import and Use in Your Server File
import express from "express";
import mongoose from "mongoose";
import deltaMulter from "delta-file-multer";
import { connectDB } from "./db.js";
const app = express();
connectDB(); // your own DB connection logic
// File upload setup
deltaMulter({
app,
mongoose,
dbField: "profilePic", // Field name (used in schema)
collectionName: "user", // MongoDB collection name
uploadPath: "./uploads", // Local upload folder
route: "/api/uploadProfile", // API endpoint
});
app.listen(4000, () => {
console.log("Server running on http://localhost:4000");
});🧪 How to Test via Postman
- Open Postman
- Set method to
POST - Endpoint:
http://localhost:4000/api/uploadProfile - Go to
Body > form-data - Add a field with:
- Key:
file - Type: File
- Value: Upload any image
- Key:
📦 Output Example in Postman
{
"success": true,
"message": "File uploaded successfully",
"file": "1743961538129_Screenshot 2025-03-18 122733.png"
}📦 Output Example in MongoDB
A sample document saved in MongoDB:
{
"_id": "123abc...",
"profilePic": "1680458392357_image.png",
"__v": 0
}📌 Features
✅ Plug-and-play file upload logic
✅ Auto-creates Mongoose model if not defined
✅ Auto-saves uploaded file metadata to MongoDB
✅ Supports custom routes, upload folders, and field names
✅ Works with any Express + Mongoose project
⚙️ Options
| Property | Type | Required | Description |
| ---------------- | ------ | -------- | ----------------------------------------------- |
| app | Object | ✅ | Your Express app instance |
| mongoose | Object | ✅ | Your connected Mongoose instance |
| dbField | String | ✅ | Field name for storing file name in DB |
| collectionName | String | ✅ | MongoDB collection where file metadata is saved |
| uploadPath | String | ✅ | Path to store uploaded files locally |
| route | String | ✅ | API route for file upload |
📜 License
This project is licensed under the MIT License.
💻 Contributing
Pull requests, issues, and feedback are always welcome.
Let’s make file uploads easier, together!
Happy uploading! 🎉
