(Node.js) (обещание-ftp), почему использование ftp put после проверки правильности пути и назначения не работает? - PullRequest
0 голосов
/ 18 февраля 2020
router.post('/api/versionUpgrade/:ip',async(req, res) => {
    let ip = req.params.ip;
    let uploaded = false;
    let filesKeys = Object.keys(req.files)
    let files = req.files;
    let pathCreated = false;
    try {
        if(!files) {
            res.send({
                status: false,
                message: 'No file uploaded'
            });
        } else {
            if(ftpService.getStatus() == 'not yet connected' || ftpService.getStatus() == 'disconnected'){
                await ftpService.connect(ip);
            } 
            let data = []; 
            for(let key of filesKeys){
                let versionFile = req.files[key];
                let path = './uploaded-files/' + versionFile.name;
                await versionFile.mv(path);
                console.log(ftpService.getStatus())
                if(ftpService.getStatus() == 'connected' && versionFile){
                    ftpService.uploadFile(path, await versionFile.name);
                } 

                //await ftpService.closeFtp();
                // data.push({
                //     name: versionFile.name,
                //     mimetype: versionFile.mimetype,
                //     size: versionFile.size,
                //     path: path
                // });                  
            }



            // await ftpService.closeFtp();
            console.log('path created?', data)

            res.send({status: true, message: 'Files are uploaded'})


        }
    } catch (err) {
        res.status(500).send(err);
    }
})
different file - ftp-service.js

    module.exports.uploadFile = async (path, name) => {
    console.log("files recieved in ftp - service put")

        console.log("before put, recieves path and destination. path:",path,"name:",name)
        return await ftp.put(path, name).then(res => {
            return ftp.end()
        }).catch((e)=>{
            console.error(e)
        });
}

{Ошибка: нет такого файла или каталога в makeError (C: \ Users \ lerman \ Desktop \ Yossi \ MCM-9000 Supervisor \ Supervisor - Angular \ node_modules@icetee \ ftp \ lib \ соединение. js: 1128: 13) в Parser. (C: \ Users \ lerman \ Desktop \ Yossi \ MCM-9000 Supervisor \ Supervisor - Angular \ node_modules@icetee \ ftp \ lib \ connection. js: 122: 25) в Parser.emit (события. js: 189: 13) в Parser._write (C: \ Users \ lerman \ Desktop \ Yossi \ MCM-9000 Supervisor \ Supervisor - угловой \ node_modules@icetee \ ftp \ lib \ parser. js: 61: 10 ) в doWrite (_stream_writable. js: 410: 12) в writeOrBuffer (_stream_writable. js: 394: 5) в Parser.Writable.write (_stream_writable. js: 294: 11) в Socket.ondata (C: \ Users \ lerman \ Desktop \ Yossi \ MCM-9000 Supervisor \ Supervisor - Angular \ node_modules@icetee \ ftp \ lib \ connection. js: 298: 20) в Socket.emit (события. js: 189: 13) в addChunk (_stream_readable. js: 284: 12) в readableAddChunk (_stream_readable. js: 265: 11) в Socket.Readable.pu sh (_stream_readable. js: 220: 10) в TCP.onStreamRead [как onread] (внутренний / stream_base_commons. js: 94: 17) код: 550}

...