3500/ftpclient.h

57 lines
1.6 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>
#include <QProgressDialog>
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);
void uploadFile(const QString fileUrl, const QString filePath,const QString fileName,int type = -1);
signals:
void sigReplyStatus(int result);
void sigDownloadProcess(qint64 byteSend, qint64 byteTotal);
void sigDownloadStatus();
public slots:
void CheckReplyStatus(QNetworkReply::NetworkError inputError);
void finished(QNetworkReply* reply);
//网络请求数据响应
void slotNetMgr(QString sAddr,const QVariant& msg);
void downloadProgress(qint64 byteSend, qint64 byteTotal);
private:
QFile* m_inputFile;
QNetworkAccessManager *m_ftpManager;
QUrl* m_ftpUrl;
int m_Type;
QString m_fileName;
QProgressDialog *progressDialog;
QNetworkReply* downloadReply;
};
extern FtpClient *g_FtpClient;
#endif // FTPCLIENT_H