Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用electron&;轻松ftp中的文件上载错误;node.js应用程序_Javascript_Node.js_Ftp_Electron - Fatal编程技术网

Javascript 使用electron&;轻松ftp中的文件上载错误;node.js应用程序

Javascript 使用electron&;轻松ftp中的文件上载错误;node.js应用程序,javascript,node.js,ftp,electron,Javascript,Node.js,Ftp,Electron,我试图上传csv文件在远程ftp使用包,但有时上传&有时显示错误,如下图 这是我的密码 let ftp = new EasyFtp(); try{ const config = { host: 'ftp.saba.com', port: 21, username: 'username', password: 'password', type : 'ftp' }; ftp.connect(co

我试图上传csv文件在远程ftp使用包,但有时上传&有时显示错误,如下图

这是我的密码

let ftp = new EasyFtp();
try{
    const config = {
        host: 'ftp.saba.com',
        port: 21,
        username: 'username',
        password: 'password',
        type : 'ftp'
    };
    ftp.connect(config);
    ftp.upload(csvName, "/csvs/", function (err) {
        try {
            fs.unlink(csvName, (err) => {
                if (err) {
                    console.log(err);
                    return;
                }
            });
        } catch(error) {
            console.log(error);
        }
    });
} catch(error) {
    console.log(error);
}
我找不到任何有用的资源来解决这个问题,我现在能做什么


谢谢这是一个异步问题。连接成功后,您需要上载文件

代码应为:

ftp.on('open', function(){
  ftp.upload(csvName, "/csvs/", function (err) {
    // process upload result
  });
});

ftp.connect(config);
在您的代码中,
上传
请求在
连接
操作后立即发送。如果幸运的话,当easy ftp尝试交付
上传
操作时,前面的
连接
已经完成并成功,那么
上传
也会成功

如果运气不好,当easy ftp尝试传递
上传
操作时,上一个
连接
操作仍然没有完成。然后,
上传
将失败并显示“无法读取属性…”错误(看起来easy ftp应该会显示一些更好的错误消息)

要解决此问题,您需要在easy ftp中侦听,并且仅在发出该事件时上载文件:

打开(client)-连接和身份验证成功时发出


csvName未定义,请对此进行控制台/调试value@MuhammadAli下面是值
c:\Users\LENOVO\Downloads\gst\gst/csvs/data\u 20190423\u 28ab5ac9-b72f-4138-b06c-70f2d53874fd.csv
只需在项目中设置文件路径,窗口目录斜杠与linux不同,像‘csvs/data_20190423_28ab5ac9-b72f-4138-b06c-70f2d53874fd.csv’一样,我已经使用您的概念进行了修复,但没有完全使用代码。谢谢@jesica欢迎您,只要在
open
事件后调用
upload
,代码就很好。