Tenía un código Javascript de nodo expreso en funcionamiento, pero cuando cambié el código para que me diera una identificación aleatoria para cada entrada de archivo (en lugar de un nombre de archivo establecido, myFile.jpeg), aparece el siguiente error:
UnhandledPromiseRejectionWarning: ReferenceError: fileName is not defined
Sé que he definido el nombre del archivo, pero no entiendo qué significa este error ni cómo solucionarlo. He visto este error en muchos bots de Discord o MongoDB, pero me cuesta encontrar algo para express.
let rid = Math.floor(Math.random() * 10000000) let ridString = "" + rid //const upload = multer().single('myfile') const upload = multer().single(ridString) //other code app.post('/upload', (req, res)=>{ upload(req, res, async function(err){ if( err|| req.file === undefined){ console.log(err) res.send("error occured") }else{ //let rid = Math.floor(Math.random() * 10000000) //let ridString = "" + rid let fileName = ridString + ".jpeg" //let fileName = "myfile.jpeg" var image = await sharp(req.file.buffer) //.catch(err => {console.log('error: ', err)}) .jpeg({ //quality: 40, }).toFile('./uploads/'+fileName) .catch( err => { console.log('error: ', err) }) pythonFunction(res, fileName); } }) })
Comenté todo lo que cambió de myFile al número aleatorio.