I'm uploading my file using multer, and then I'm trying to read the JSON file and do some operations for it. Apparently, when I take the name of the file and pass it to my function I'm getting the error following error:
The code inside my app.js
//UPLOAD FILE READER
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'points')
},
filename: (req, file, cb) => {
const { originalname } = file;
cb(null, originalname)
}
})
const upload = multer ({ storage })
//Function to get the name of the file for future use
var splitTest = function (str) {
return str.split('\\').pop().split('/').pop();
}
app.post("/uploadFile",upload.single('fileupload'),(req, res, next) => {
// Read File Before Uploading
const absolutePath = path.join(__dirname, req.file.path);
const jsonString = fs.readFileSync(absolutePath, "utf-8");
const jsonObject = JSON.parse(jsonString);
nameFile = splitTest(absolutePath)
//JSON SCHEMA VALIDATOR
var innerSchema = schemas.jsonSchema;
var innerArraySchema = {
"type": "array",
"items" : innerSchema
}
const ajv = new Ajv()
const valid = ajv.validate(innerArraySchema, jsonObject)
if (!valid) {
fs.unlinkSync(req.file.path)
res.redirect('admin')
}
else {
console.log(nameFile)
rFile(nameFile)
res.redirect('admin')
}
})
Also the function I call inside my app.js.
//Load JSON DATA to MySQL
rFile("starting_pois.json") --> For testing its working perfectly
function rFile(fileName) {
fs.readFile(`../points/${fileName}`, 'utf-8', (err, jsonString) => {
// Do stuff....