3500/ftpclient.h

56 lines
1.5 KiB
C
Raw Normal View History

2023-04-14 19:30:30 +08:00
#ifndef FTPCLIENT_H
#define FTPCLIENT_H
#include <QtWidgets/QWidget>
#include <QtCore\QFile>
#include <QtNetwork\QNetworkRequest>
#include <QtNetwork\QNetworkReply>
#include <QtNetwork\QNetworkAccessManager>
#include <QUrl>
#include <QMessageBox>
#include <QtCore\QFileInfo>
2023-10-19 14:15:31 +08:00
#include <QProgressDialog>
2023-04-14 19:30:30 +08:00
class FtpClient : public QWidget
{
Q_OBJECT
public:
FtpClient(QWidget *parent = 0);
~FtpClient();
public:
//设置ftp服务器用户名和密码
void SetUserInfo(const QString userAccount, const QString pwd);
//设置服务器地址和端口号
void SetServerInfo(const QString fileAddr, int Port=21);
//上传文件
2023-04-27 19:48:15 +08:00
void UpLoadFile(const QString fileSource, const QString fileDest,int type = -1);
2023-04-14 19:30:30 +08:00
//下载文件
void DownLoad(const QString fileSource, const QString fileDest);
2023-04-27 19:48:15 +08:00
signals:
void sigReplyStatus(int result);
2023-10-19 14:15:31 +08:00
void sigDownloadProcess(qint64 byteSend, qint64 byteTotal);
void sigDownloadStatus();
2023-04-14 19:30:30 +08:00
public slots:
void CheckReplyStatus(QNetworkReply::NetworkError inputError);
void finished(QNetworkReply* reply);
//网络请求数据响应
void slotNetMgr(QString sAddr,const QVariant& msg);
2023-10-19 14:15:31 +08:00
void downloadProgress(qint64 byteSend, qint64 byteTotal);
2023-04-14 19:30:30 +08:00
private:
QFile* m_inputFile;
QNetworkAccessManager *m_ftpManager;
QUrl* m_ftpUrl;
2023-04-27 19:48:15 +08:00
int m_Type;
2023-04-14 19:30:30 +08:00
QString m_fileName;
2023-10-19 14:15:31 +08:00
QProgressDialog *progressDialog;
QNetworkReply* downloadReply;
2023-04-14 19:30:30 +08:00
};
extern FtpClient *g_FtpClient;
#endif // FTPCLIENT_H