#ifndef FTPCLIENT_H #define FTPCLIENT_H #include #include #include #include #include #include #include #include #include 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