Javascript 使用electron&;轻松ftp中的文件上载错误;node.js应用程序
我试图上传csv文件在远程ftp使用包,但有时上传&有时显示错误,如下图 这是我的密码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
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中侦听,并且仅在发出该事件时上载文件:
打开(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
,代码就很好。