jsftp - TypeError:createConnection不是函数

问题描述 投票:0回答:1

我刚刚使用client-ftp发布了一个最近的问题,并被告知包已过时,并且是我原始问题的根源。正如所建议的那样,我搬到了一个仍在维护的包裹,即jsftp。但是,我仍然有类似的问题。作为参考我可以找到here的上一个问题。我仍然会重述我的问题,因为它已略有改变。

我是Angular / Node的新手,我正在尝试连接到ftp服务器。

我正在前端创建一个按钮:<button class="btn btn-primary" (click)="downloadFile()"><i class="fa fa-file-photo-o"></i> Download Screenshot</button>

我要下载的新实现是这样的:

downloadFile(){
    console.log('Connecting to sftp...');
    var jsftp = require("jsftp");

    var ftp = new jsftp({
        host: 'localhost',
        port: 22,
        user: 'anonymous',
        pass: 'anonymous'
    });

    console.log('Downloading Screenshot...');
}

我意识到我不是想下载任何东西,但是现在我只是想先连接。问题是,当click事件被触发时,我得到一个错误,说TypeError: createConnection is not a function。我不知道我做错了什么。 createConnection函数不会在任何地方调用。我正在做文件所说的内容和其他资源似乎表明相同,例如here

节点版本是:v8.11.3 - 也许这太过时了?

node.js angular function typescript sftp
1个回答
1
投票

你标记了打字稿,大概是因为TypeError,这是一个javascript,而不是打字稿,错误(见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Not_a_function)。

其次,你似乎在NodeJS上的javascript(后端)和浏览器(前端)之间感到困惑。您无法在浏览器中运行jsftp,因此您的方法需要更改。

如果您的目的是让用户在点击链接时从浏览器下载ftp文件,您应该可以直接在href中链接到它,而不需要任何javascript。有关更多信息,请查看此问题的答案:Is it possible to download file from FTP using Javascript?

© www.soinside.com 2019 - 2024. All rights reserved.