查看完整版本: [-- QFtp 魔改版 --]

QTCN开发网 -> Qt代码秀 -> QFtp 魔改版 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

20091001753 2020-05-23 02:43

QFtp 魔改版

QFtp 魔改版,完成于 Qt5.14 时期

原版 QFtp 是 Qt4 时代的官方 Ftp 类,但 Qt5 已移除该类。

官方的理由是 Qt5 推荐使用 QNetworkAccessManager 完成 Ftp 请求。(Qt6 已经彻底移除 FTP 的支持)

但遗憾的是,Manager 只能上传与下载,你无法获取文件列表、删除文件、新建文件夹等等。(QFtp 则可以)

【 更糟糕的是 】原版 QFtp 与 Manager 不能很好支持中文路径。

【 QFtp 魔改版 】已完全支持中文路径,并配有全新的 Demo。

[attachment=21597]

Demo :双击文件下载,双击目录进入。本地文件拖入上传。

下载
[attachment=21598]

更多
http://www.qtcn.org/bbs/read-htm-tid-84824.html

clickto 2020-05-23 11:25
通过QNetworkAccessManager 魔改的?

20091001753 2020-05-23 16:54
clickto:通过QNetworkAccessManager 魔改的? (2020-05-23 11:25) 

修改的 Qt4 时代的 QFtp 代码。

总之你现在能在 Qt5 里使用它,且完美支持中文路径。

并配有全新的 Demo 。

spygg 2020-05-24 08:44
这个一定要顶,下载下来拜读

nigoole 2020-05-24 17:43
   太好了

cj123sn 2020-05-25 18:56

yangyu52009 2020-05-26 20:36
下下来学习下了

spygg 2020-05-27 07:23
好像还是有QIODevice::read (QTcpSocket, "QFtpDTP Passive state socket"): device not open这个警告啊

guotou 2020-05-28 13:16
报错啊    Login failed:\nPlease log in with USER and PASS first.

305750665 2020-05-29 08:59
    

boylebao 2020-06-02 09:43
佩服

lzh280 2020-06-03 08:27
    

mugua001 2020-06-10 00:28
这个必须有掌声啊。

hehui 2020-06-18 08:10

alone_work 2020-07-02 08:27
    

dxa572862121 2020-07-08 17:21
    

change2046 2020-08-05 10:43
支持sftp吗?

bjgaofei6688 2020-08-11 15:42

zfh19920809 2020-09-07 10:07
    

zfh19920809 2020-09-07 10:15
guotou:报错啊    Login failed:\nPlease log in with USER and PASS first.
 (2020-05-28 13:16) 

这个错误提示现在解决了吗,调试过程中我也提示这个错误

yangq_9527 2020-09-08 09:30
    

shatanzhihu 2020-09-11 11:33
          

kongdemin 2020-10-22 10:21
     大佬厉害

zaoanshijie 2020-11-14 14:09
     大佬厉害

rpdhunter 2020-12-18 09:11
看了修改总结一下,将qftp.cpp中所有fromLatin1()替换成fromUtf8(),这样就简单解决了乱码问题

原因https://blog.csdn.net/qq_36179504/article/details/107384287这篇文章写得比较清楚了

hitzsf 2022-02-23 10:27
写的挺好的, 也出现报错对话框: Login failed:\nPlease log in with USER and PASS first.
看了下ftp::login() , 发现调整下cmds参数设置就好了,有同样问题的网友可以修改试试
  1. int QFtp::login(const QString& user, const QString& password)
    {
        QStringList cmds;

        cmds << (QLatin1String("USER ")
                  + (user.isNull() ? QLatin1String("anonymous") : user)
                  + QLatin1String("\r\n"));

        cmds << (QLatin1String("PASS ")
                  + (password.isNull() ? QLatin1String("anonymous@") : password)
                  + QLatin1String("\r\n"));

        cmds << QLatin1String("OPTS UTF8 ON\r\n");

        return d->addCommand(new QFtpCommand(Login, cmds));
    }



xmdeq-t 2022-06-27 13:59
出现error: no matching function for call to 'QMenu::addAction(const char [7], Widget*, void (Widget::*)())'
         menu.addAction(u8"刷新",this,&Widget::flashDir);

小土豆 2022-07-12 10:48
大佬,我想把这个单独做一个dll出来,为啥会报错----> 使用了未定义类型“QFtpPrivate”

duqingnian 2023-04-05 16:43
这个代码,我遇到以下几个问题
1 没有登录之前执行:command "OPTS UTF8 ON"会提示Login first
2 正确的登录后,无法获取到文件列表,但是其他ftp客户端是可以的

呼噜小金刚 2024-02-14 09:19
为什么程序初次使用成功,但长时间闲置情况下再次上传文件会报“Listing directory failed:Not connected”错误呢

maijinsheng 2024-02-28 15:22


查看完整版本: [-- QFtp 魔改版 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled