3500/ftpclient.h

57 lines
1.6 KiB
C
Raw Permalink Normal View History

2023-04-14 19:30:30 +08:00
#ifndef FTPCLIENT_H
#define FTPCLIENT_H
#include <QtWidgets/QWidget>
2024-09-11 16:37:00 +08:00
#include <QtCore/QFile>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QNetworkAccessManager>
2023-04-14 19:30:30 +08:00
#include <QUrl>
#include <QMessageBox>
2024-09-11 16:37:00 +08:00
#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);
2024-09-11 16:37:00 +08:00
void uploadFile(const QString fileUrl, const QString filePath,const QString fileName,int type = -1);
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
};
2024-09-11 16:37:00 +08:00
2023-04-14 19:30:30 +08:00
extern FtpClient *g_FtpClient;
#endif // FTPCLIENT_H