• 6831阅读
  • 30回复

QFtp 魔改版 [复制链接]

上一主题 下一主题
在线20091001753
 

只看楼主 倒序阅读 楼主  发表于: 2020-05-23
QFtp 魔改版,完成于 Qt5.14 时期

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

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

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

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

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



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

下载
QFtp 魔改版.7z (40 K) 下载次数:471

更多
http://www.qtcn.org/bbs/read-htm-tid-84824.html
本帖提到的人: @hitler++ @liulin188 @spygg
4条评分好评度+1贡献值+1金钱+10威望+1
hitzsf 好评度 +1 - 2022-02-23
hitzsf 贡献值 +1 - 2022-02-23
hitzsf 威望 +1 - 2022-02-23
hitzsf 金钱 +10 - 2022-02-23
(づ ̄ 3 ̄)づ
离线clickto

只看该作者 1楼 发表于: 2020-05-23
通过QNetworkAccessManager 魔改的?
在线20091001753

只看该作者 2楼 发表于: 2020-05-23
回 clickto 的帖子
clickto:通过QNetworkAccessManager 魔改的? (2020-05-23 11:25) 

修改的 Qt4 时代的 QFtp 代码。

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

并配有全新的 Demo 。
(づ ̄ 3 ̄)づ
离线spygg

只看该作者 3楼 发表于: 2020-05-24
这个一定要顶,下载下来拜读
签名就是这么浪
离线nigoole

只看该作者 4楼 发表于: 2020-05-24
   太好了
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线cj123sn

只看该作者 5楼 发表于: 2020-05-25
离线yangyu52009

只看该作者 6楼 发表于: 2020-05-26
下下来学习下了
离线spygg

只看该作者 7楼 发表于: 2020-05-27
好像还是有QIODevice::read (QTcpSocket, "QFtpDTP Passive state socket"): device not open这个警告啊
签名就是这么浪
离线guotou

只看该作者 8楼 发表于: 2020-05-28
报错啊    Login failed:\nPlease log in with USER and PASS first.
1条评分金钱+1
20091001753 金钱 +1 拜托,有些 FTP 站点是要 账号 密码 的。。。 2020-09-22
离线305750665

只看该作者 9楼 发表于: 2020-05-29
    
雨田哥: 群号:853086607
QQ: 3246214072

刘典武-feiyangqingyun:专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!QQ:517216493
在线boylebao

只看该作者 10楼 发表于: 2020-06-02
佩服
为Qt打造具有强大生产力的软件。
离线lzh280

只看该作者 11楼 发表于: 2020-06-03
    
离线mugua001

只看该作者 12楼 发表于: 2020-06-10
这个必须有掌声啊。
离线hehui

只看该作者 13楼 发表于: 2020-06-18
离线alone_work

只看该作者 14楼 发表于: 2020-07-02
    
离线dxa572862121

只看该作者 15楼 发表于: 2020-07-08
    
离线change2046

只看该作者 16楼 发表于: 2020-08-05
支持sftp吗?
离线bjgaofei6688

只看该作者 17楼 发表于: 2020-08-11
离线zfh19920809

只看该作者 18楼 发表于: 2020-09-07
    
离线zfh19920809

只看该作者 19楼 发表于: 2020-09-07
回 guotou 的帖子
guotou:报错啊    Login failed:\nPlease log in with USER and PASS first.
 (2020-05-28 13:16) 

这个错误提示现在解决了吗,调试过程中我也提示这个错误
1条评分金钱+1
20091001753 金钱 +1 拜托,有些 FTP 站点是要 账号 密码 的。。。 2020-09-22
离线yangq_9527

只看该作者 20楼 发表于: 2020-09-08
    
离线shatanzhihu

只看该作者 21楼 发表于: 2020-09-11
          
离线kongdemin

只看该作者 22楼 发表于: 2020-10-22
     大佬厉害
离线zaoanshijie

只看该作者 23楼 发表于: 2020-11-14
     大佬厉害
离线rpdhunter

只看该作者 24楼 发表于: 2020-12-18
看了修改总结一下,将qftp.cpp中所有fromLatin1()替换成fromUtf8(),这样就简单解决了乱码问题

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

只看该作者 25楼 发表于: 2022-02-23
写的挺好的, 也出现报错对话框: Login failed:\nPlease log in with USER and PASS first.
看了下ftp::login() , 发现调整下cmds参数设置就好了,有同样问题的网友可以修改试试
  1. int QFtp::login(const QString& user, const QString& password)
  2. {
  3.     QStringList cmds;
  4.     cmds << (QLatin1String("USER ")
  5.               + (user.isNull() ? QLatin1String("anonymous") : user)
  6.               + QLatin1String("\r\n"));
  7.     cmds << (QLatin1String("PASS ")
  8.               + (password.isNull() ? QLatin1String("anonymous@") : password)
  9.               + QLatin1String("\r\n"));
  10.     cmds << QLatin1String("OPTS UTF8 ON\r\n");
  11.     return d->addCommand(new QFtpCommand(Login, cmds));
  12. }


离线xmdeq-t

只看该作者 26楼 发表于: 2022-06-27
出现error: no matching function for call to 'QMenu::addAction(const char [7], Widget*, void (Widget::*)())'
         menu.addAction(u8"刷新",this,&Widget::flashDir);
离线小土豆

只看该作者 27楼 发表于: 2022-07-12
大佬,我想把这个单独做一个dll出来,为啥会报错----> 使用了未定义类型“QFtpPrivate”
离线duqingnian

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

只看该作者 29楼 发表于: 02-14
为什么程序初次使用成功,但长时间闲置情况下再次上传文件会报“Listing directory failed:Not connected”错误呢
离线maijinsheng

只看该作者 30楼 发表于: 02-28
快速回复
限100 字节
 
上一个 下一个