Recibo constantemente el mensaje impreso de "Falló la carga de archivos" cuando selecciono mi imagen y presiono cargar. Nunca va a la verdad..
Como puede ver, en realidad no estoy subiendo aquí. Solo probando los archivos req. ¿hay algún problema en mi router.post? Cualquier entrada sería apreciada.
router.post('/upload', async (req, res) => { try { if(!req.files) { res.send({ status: false, message: 'No file uploaded' }); } else { res.send({ status: true, message: 'Files are uploaded', data: data }); } } catch (err) { res.status(500).send(err); } }) module.exports=router¿Puede compartir su archivo de controlador y también está usando la función asíncrona pero no define esperar dentro de esa función, debe usar 'esperar' al ejecutar la función asíncrona?
aquí está el archivo del controlador AAmir
let fs = require('fs'); let async = require('async'); function uploaddownFiles(connection, fromFolder, toFolder, sftpmethod) { return new Promise((resolve, reject) => { // Getting all file list in given folder of local machine let fileList = fs.readdirSync(fromFolder); // filter only files not folders fileList = fileList.filter(file => { if (file.includes('.')) return true; return false; }); console.log('Total files: ', fileList.length) if (!fileList.length) return reject('No file to send') connection.sftp(function (err, sftp) { if (err) return; async.eachOfSeries(fileList, (file, key, cb) => { let moveFrom = `${fromFolder}/${file}`; let moveTo = `${toFolder}/${file}`; if (sftpmethod=== 'put') sftp.fastPut(moveFrom, moveTo, {}, function (uploadError) { if (uploadError) return cb(uploadError); console.log("Successfully Uploaded", file); cb(); }); else if (sftpmethod === 'get') sftp.fastGet(moveFrom, moveTo, {}, function (uploadError) { if (uploadError) return cb(uploadError); console.log("Successfully Downloaded", file); cb(); }); }, function (err) { if (err) { console.log(err); return reject(err); } else { console.log('all files have been uploaded/downloaded'); return resolve(); } }) }); }); }