Qt使用QNetworkAccessManager实现Ftp操作

介绍

QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端QUdpSocket-Qt使用Udp通讯实现服务端和客户端,还提供了HTTP、HTTPS、FTP等高级API,并统一使用QNetworkAccessManager进行操作。HTTP操作请看:Qt使用QNetworkAccessManager实现Http操作

qt4x分别使用QFtp和QHttp,5以后统一用QNetworkAccessManager

使用说明

首先请看:Qt使用QNetworkAccessManager实现Http操作

ftp与http操作完全一样,只不过需要设置一下用户名、密码、地址、端口、文件路径。这些操作只需要对QUrl做配置,其余不需要改变

分别调用QUrl的

void setUserName(const QString &userName, ParsingMode mode = DecodedMode)
void setPassword(const QString &password, ParsingMode mode = DecodedMode)
void setHost(const QString &host, ParsingMode mode = DecodedMode)
void setPort(int port)
void?setPath(const QString &path, ParsingMode mode = DecodedMode)

上述对于还需要配置一下:setScheme(“ftp”)

void setScheme(const QString &scheme)

这个指的是 ftp:// 和http://由于并没有通过setUrl设置url,需要主动的指定scheme

上面分别指定了ftp以及ip,port及path,这四项可以直接setUrl但是建议分别调用组合

上传与下载

下载就是get,除了QUrl配置不一样其他与http完全相同,最后把get得到的所有数据保存到文件即可

上传那就是put,先从文件读取出所有数据,然后put即可,注意读取完存为QByteArray类型


| 版权声明: 本站文章采用 CC 4.0 BY-SA 协议 进行许可,转载请附上原文出处链接和本声明。
| 本文链接: Cologic Blog - Qt使用QNetworkAccessManager实现Ftp操作 - https://www.coologic.cn/2017/12/653/

《Qt使用QNetworkAccessManager实现Ftp操作》有1条留言

留下评论