1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
//.h
//...
QNetworkAccessManager nam;
QNetworkReply *currentReply;
//...
//.cpp
//...
connect(&nam, SIGNAL(finished(QNetworkReply*)), this, SLOT(onUploadFinished(QNetworkReply*)));
//...
file = new QFile(fileName, this);
if(file->open(QIODevice::ReadOnly)){
QUrl url;
url.setUrl(QString("ftp://") + host + "/" + ftppath);
url.setUserName(username);
url.setPassword(password);
url.setPort(port);
currentReply = nam.put(QNetworkRequest(url), file);
//Progress monitoring
//connect(currentReply, SIGNAL(uploadProgress(qint64,qint64)), this, SIGNAL(progressChanged(qint64,qint64)));
//Errors monitoring
//connect(currentReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError(QNetworkReply::NetworkError)));
}
//...
void FtpClient::onUploadFinished(QNetworkReply *reply)
{
bool status = reply->error() == 0;
if(!status){
m_error = reply->errorString();
qDebug() << "FtpClient::onUploadFinished - error: " << reply->errorString();
}
reply->deleteLater();
currentReply = 0;
file->close();
delete file;
file = 0;
} |
Partager