expressjs / expressjs/multer

ERROR UPLOADING FILE using the javascript and I also use multer in handling the fileupload

Open
#1,224 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
12.1k
Forks
1.1k
Avg merge
8d 2h
Merged PRs (30d)
21

Description

what are the error of my code ?

"this is the upload photo code

const express = require('express');
const multer = require('multer');
const path = require('path');
const { DB_CURRENT_TIMESTAMP, queryDb } = require('@api/utils/mysql');

//const app = express();
//const port = process.env.SERVER_PORT || 3000;
const router = express.Router();

// Set up storage for uploaded files
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '../assets/uploads');
},
filename: function (req, file, cb) {
const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9);
const fileExtension = path.extname(file.originalname);
cb(null, file.fieldname + '-' + uniqueSuffix + fileExtension);
}
});

const upload = multer({ storage: storage });

// Serve uploaded files statically
//app.use('/uploads', express.static('uploads'));
router.use('/uploads', express.static('uploads'));

// Handle file upload
router.post('/api/upload-photo', upload.single('image'), async (req, res) => {
if (!req.file) {
return res.status(400).json({ message: 'No file uploaded' });
}

// You can perform additional logic here, like saving the file path to a database
// and returning a response.

try {
const { image = '' } = req.body;

if (!image) {
return res.status(400).json({
message: 'Please select an Image.',
});
}

const imagePath = `/uploads/${req.file.filename}`; // Update the path to match your file storage location

// Save file path to the database
await queryDb(`
INSERT INTO gallery (date_uploaded, image) VALUES (?, ?)`,
[DB_CURRENT_TIMESTAMP, imagePath]
);

return res.status(200).json({
message: 'Image Uploaded!'
});

} catch (err) {
res.status(500).json({
message: `Server error : ${err.message}`
});
}

res.status(200).json({ message: 'Image Uploaded' });
});

// app.listen(port, () => {
// console.log(`Server is running on port ${port}`);
// });
module.exports = router;

and these are the "get gallery data" code

//get all gallery

const { queryDb } = require('@api/utils/mysql');

module.exports = async function(req, res) {
try {
var {

} = req.body;

message= '';

var gallery = await queryDb('SELECT * FROM gallery');

return res.status(200).json ({
gallery
});
}
catch(err) {
// console.log(err.message);
res.status(500).json({
message: `Server error : ${err.message}`
});
}
}

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.