File: /home/ekspardev/image-upload-screen-detect/controller/file.js
const uploadFile = require("../middleware/upload");
exports.upload = async (req, res) => {
try {
// await uploadFile(req, res);
if (req.file == undefined) {
return res.status(400).send({ message: "Please upload a file!" });
}
res.status(200).send({
message: "Uploaded the file successfully: " + req.file,
});
} catch (err) {
if (err.code == "LIMIT_FILE_SIZE") {
return res.status(500).send({
message: "File size cannot be larger than 2MB!",
});
}
res.status(500).send({
message: `Could not upload the file: ${req.file}. ${err}`,
});
}
};
exports.getListFiles = (req, res) => {
const directoryPath = __basedir + "/upload/assets/";
fs.readdir(directoryPath, function (err, files) {
if (err) {
res.status(500).send({
message: "Unable to scan files!",
});
}
let fileInfos = [];
files.forEach((file) => {
fileInfos.push({
name: file,
url: baseUrl + file,
});
});
res.status(200).send(fileInfos);
});
};
exports.download = (req, res) => {
const fileName = req.params.name;
const directoryPath = __basedir + "/upload/assets/";
res.download(directoryPath + fileName, fileName, (err) => {
if (err) {
res.status(500).send({
message: "Could not download the file. " + err,
});
}
});
};