Javascript 使用jsftp从Node.js上传到FTP

Javascript 使用jsftp从Node.js上传到FTP,javascript,node.js,npm,ftp,npm-scripts,Javascript,Node.js,Npm,Ftp,Npm Scripts,我正在尝试使用从node js上传一个文件到FTP服务器 module.exports=异步函数(){ const jsftp=require(“jsftp”); console.log(uu dirname) constftp=newjsftp({ 主机:“主机名”, 港口:990, 用户:“用户”, 通行证:“通行证” }); ftp.put('/path/to/file.xlsx','/path/to/remote/file/qwer.xlsx',err=>{ console.log('i

我正在尝试使用从node js上传一个文件到FTP服务器

module.exports=异步函数(){
const jsftp=require(“jsftp”);
console.log(uu dirname)
constftp=newjsftp({
主机:“主机名”,
港口:990,
用户:“用户”,
通行证:“通行证”
});
ftp.put('/path/to/file.xlsx','/path/to/remote/file/qwer.xlsx',err=>{
console.log('in')
如果(!err)console.log(“文件传输成功!”);
else console.log(错误)
});
}
创建ftp对象时没有错误。我收到了200条回复,但没有文件上传到FTP服务器。如果我在本地路径中出错,我可以在控制台中看到“本地文件不存在”错误。否则,根本不打印“in”


我不知道这是怎么回事。感谢您的帮助

您需要先读取文件。比如说:-

module.exports =   async function() {

    const jsftp = require("jsftp"); 
    const fs = require("fs");
    console.log(__dirname)
    const ftp = new jsftp({
        host: "host.name",
        port: 990, 
        user: "user", 
        pass: "pass" 
    });
    fs.readFile(local, function(err, buffer) {
        if(err) {
            console.error(err);
            callback(err);
        }
        else {
            ftp.put('/path/to/file.xlsx', '/path/to/remote/file/qwer.xlsx', err => {
                console.log('in')
                if (!err){ console.log("File transferred successfully!")};
                else {console.log(err)}
            });
       }
    });
}