我正在尝试使用node.js在ftp服务器上传文件,如下所示 -
我正在使用图书馆 - https://github.com/sergi/jsftp
var fs = require('fs');
var Ftp = new JSFtp({
host: "ftp.some.net",
port: 21, // defaults to 21
user: "username", // defaults to "anonymous"
pass: "pass",
debugMode: true // defaults to "@anonymous"
});
上传文件
exports.UploadToFtP = function (req, res) {
Ftp.put('public/Test.html', '/Test/index.html', function (err) {
if (!err)
res.send(200);
else
res.send(err);
});
};
我尝试使用上述方法上传文件,然后使用200 OK
回复我。但我在服务器上没有文件。
这是否必须与服务器的连接时间有关?为什么这不是在服务器上写文件?
答案 0 :(得分:0)
如果启用了调试模式,jsftp实例将发出jsftp_debug事件。
为了对打印所有调试事件做出反应,我们会像这样收听调试消息:
Ftp.on('jsftp_debug', function(eventType, data) {
console.log('DEBUG: ', eventType);
console.log(JSON.stringify(data, null, 2));
});
答案 1 :(得分:0)
原始FTP不接受任何参数并返回告别 来自服务器的消息。在FTP GET方法中嵌入原始FTP功能
我们也可以直接使用原始FTP命令。在这种情况下,我们使用FTP 'QUIT'方法,不接受任何参数并返回告别 来自服务器的消息
ftp.raw.quit(function(err, res) {
if (err)
return console.error(err);
console.log("FTP session finalized! See you soon!");
});