将文件上传到node.js中的ftp服务器

时间:2014-07-30 10:40:35

标签: javascript node.js ftp

我正在尝试使用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回复我。但我在服务器上没有文件。 这是否必须与服务器的连接时间有关?为什么这不是在服务器上写文件?

2 个答案:

答案 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!");
});