当前位置:  开发笔记 > 编程语言 > 正文

通过节点获取FTP上载的进度

如何解决《通过节点获取FTP上载的进度》经验,为你挑选了1个好方法。

我有一个Electron应用程序,它使用node-ftp将已删除的文件上传到预定义的服务器.上传就像一个魅力,但尽管阅读了一些建议我无法弄清楚如何获得进度条的实际进度信息.我的上传代码到目前为止:

var ftp = new Client();
let uploadfile = fs.createReadStream(f.path);
let newname = uuid(); //some function I use for renaming

ftp.on('ready', function () {
    ftp.put(uploadfile, newname, function (err) {
        if (err) throw err;
        ftp.end();
    });
});

c.connect({user: 'test', password: 'test'});

我总是偶然发现监控"数据"事件,但无法找到访问它的方式或位置(正如您所看到的,我对JavaScript很新).



1> Torf..:

得到它了.我在流中找到了完成百分比的答案

我的代码改为

var ftp = new Client();
let uploadfile = fs.createReadStream(f.path);
let newname = uuid(); //some function I use for renaming

ftp.on('ready', function() {
    uploadfile.on('data', function(buffer) {
        var segmentLength = buffer.length;
        uploadedSize += segmentLength;
        console.log("Progress:\t" + ((uploadedSize/f.size*100).toFixed(2) + "%"));
    });

    ftp.put(uploadfile, newname, function(err) {
        if (err) throw err;
            ftp.end();
    });
});
c.connect({user: 'test', password: 'test'});

我在控制台中上传了百分比.从这里开始,图形输出只是一小步.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有