QT5 QNetworkAccessManager实现FTP上传

2025-10-10 03:08:48

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();

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢