51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
#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>
|
|
|
|
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);
|
|
//上传文件
|
|
void UpLoadFile(const QString fileSource, const QString fileDest,int type = -1);
|
|
//下载文件
|
|
void DownLoad(const QString fileSource, const QString fileDest);
|
|
|
|
|
|
signals:
|
|
void sigReplyStatus(int result);
|
|
|
|
public slots:
|
|
void CheckReplyStatus(QNetworkReply::NetworkError inputError);
|
|
void finished(QNetworkReply* reply);
|
|
//网络请求数据响应
|
|
void slotNetMgr(QString sAddr,const QVariant& msg);
|
|
|
|
private:
|
|
QFile* m_inputFile;
|
|
QNetworkAccessManager *m_ftpManager;
|
|
QUrl* m_ftpUrl;
|
|
int m_Type;
|
|
QString m_fileName;
|
|
};
|
|
|
|
extern FtpClient *g_FtpClient;
|
|
|
|
#endif // FTPCLIENT_H
|