关于使用QNetworkAccessManager实现ftp的问题

Captain--Jack 2016-11-04 10:25:16
目前想看看qt的网络模块,想要通过FTP服务上传下载点东西,可以通
txt1.open(QIODevice::ReadOnly);
QByteArray by_txt=txt1.readAll();
txt1.close(); qDebug()<<by_txt;
QNetworkAccessManager manager;
QUrl u("ftp://anonymous:qqqqqq@172.25.239.1/asd");
u.setScheme("ftp");//设置该计划描述了URL的类型(或协议)
u.setFragment("mkdir hello");
u.setPort(21);
QNetworkReply * reply = manager.put(QNetworkRequest(u), by_txt);

来实现,或者很直接指定配置的信息:
u.setHost("172.25.239.1");//设置主机地址
u.setUserName("anonymous");
u.setPassword("anonymous");
u.setPath("D:/report_data2.txt");
url.setPort(2121);

但是ftp的cd,mkdir,rmdir等操作要怎么搞呀,在网上查了好久,我看了好久用户手册,没有找到,各位大神有没有解决的方法呀?
...全文
1520 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruoge2007 2018-01-03
  • 打赏
  • 举报
回复
qftp愣是没有编译过,

F:\Qt\myftp/qftp.cpp:2253: undefined reference to `QFtp::commandStarted(int)'
F:\Qt\myftp/qftp.cpp:2306: undefined reference to `QFtp::stateChanged(int)'
debug/qftp.o: In function `ZN11QFtpPrivate13_q_piFinishedERK7QString':
F:\Qt\myftp/qftp.cpp:2330: undefined reference to `QFtp::commandFinished(int, bool)'
F:\Qt\myftp/qftp.cpp:2336: undefined reference to `QFtp::done(bool)'
debug/qftp.o: In function `ZN11QFtpPrivate10_q_piErrorEiRK7QString':
F:\Qt\myftp/qftp.cpp:2408: undefined reference to `QFtp::commandFinished(int, bool)'
菜园小火车 2016-11-28
  • 打赏
  • 举报
回复
qt有提供qftp的可以看看源代码。可以在源代码里面找找。
Z_墨脱 2016-11-28
  • 打赏
  • 举报
回复
http://blog.csdn.net/u011012932/article/details/53304049
tygg_ylpp 2016-11-27
  • 打赏
  • 举报
回复
这个真没有试过
Captain--Jack 2016-11-18
  • 打赏
  • 举报
回复
哥们,能请教下你如何实现ftp的cd,mkdir,rmdir等操作的嘛?大文件要分段读取,处理不好的话是会出现内存泄漏的
tygg_ylpp 2016-11-14
  • 打赏
  • 举报
回复
你的FTP下载大文件会有内存泄漏的问题吗?我的下载大于1G的文件就有可能出现这个问题。。。

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧