multer express file upload
- Install multer and express:
npm install multer express
- Require necessary modules:
const express = require('express');
const multer = require('multer');
- Create an instance of Express:
const app = express();
- Set up the storage engine for multer:
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/') // Set the destination folder for uploaded files
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname) // Set the filename for the uploaded file
}
});
const upload = multer({ storage: storage });
- Define a route for handling file uploads:
app.post('/upload', upload.single('file'), (req, res) => {
res.send('File uploaded successfully'); // Handle the file upload and send a response
});
- Start the Express server:
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
- Set up the HTML form for file upload:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">Upload</button>
</form>
</body>
</html>
Make sure to create a folder named "uploads" in your project directory to store the uploaded files.