QT5 QNetworkAccessManager实现FTP上传
1、利用QFile打开文件,调用readAll()返回QByteArray此为put函数的一个参数
2、创建QUrl对象以ftp://加上服务器IP加上/文件名作为对象构造参数,调用对应函数setUserName("anonymous")设置用户名setPassword("Email")密码setPort(2121)端口号(需要)
上为匿名账号的账号密码
3、两个put参数准备完毕用QNetworkAccessManager对象调用put,URL用于创建QNetworkReply对象作参数
4、简易代码如下
向服务器上传一个asd.txt文本
#include <QApplication>
#include<QString>
#include<QDebug>
#include<QUrl>
#include <QNetworkAccessManager>
#include <QFile>#include <QByteArray>
#include <QUrl>
#include <QNetworkRequest>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFile txt1("C:/Users/Administrator/Desktop/asd.txt");
txt1.open(QIODevice::ReadOnly);
qDebug()<<txt1.isOpen();
QByteArray by_txt=txt1.readAll();
txt1.close(); qDebug()<<by_txt;
QNetworkAccessManager manager;
QUrl u("ftp://xxx.xxx.xxx.xxx/asd.txt");
u.setPort(2121); u.setUserName("anonymous");
u.setPassword("Email");
manager.put(QNetworkRequest(u), by_txt);
return a.exec();
}