5
QNetworkAccessManager kullanarak QOSuride CentOS 6.4 üzerinde bir sunucuya dosya yüklemeye çalışıyorum.QNetworkAccessManager ile Dosya Yükleme Hatası
Birkaç örneği çevrimiçi olarak denemeyi denedim ancak bunların hiçbiri çalışmıyor. QFTP sadece iyi çalışıyor, ancak yavaş ve şimdi kullanımdan kaldırıldı. yükleme için Benim kodudur:
void ftp::start(QString fileLocation)
{
QUrl url2("ftp://example.com");
url2.setUserName(ftpusername);
url2.setPassword(ftppassword);
data = new QFile(fileLocation, this);
if (data->open(QIODevice::ReadOnly)) {
nam = new QNetworkAccessManager();
reply = nam->put(QNetworkRequest(url2), data);
connect(nam, SIGNAL(finished(QNetworkReply*)),this, SLOT(requestFinished(QNetworkReply*)));
connect(reply, SIGNAL(uploadProgress(qint64, qint64)), SLOT(uploadProgress2(qint64, qint64)));
connect(reply, SIGNAL(finished()), SLOT(uploadDone()));
}
else
{
qDebug() << "Could not open file to FTP";
}
}
void ftp::uploadProgress2(qint64 done, qint64 total) {
double percent;
if(done > 0 && total > 0)
{
percent = (done*100)/total;
}
myParent->addLog("Completed: " + QString::number(done) + "/" + QString::number(total) + " " + QString::number(percent) + "%");
}
void ftp::uploadDone() {
qDebug() << "Error Code: " << reply->error();
data->deleteLater();
reply->deleteLater();
}
void ftp::requestFinished(QNetworkReply* r)
{
qDebug() << "Finished ";
qDebug()<< r->errorString();
}
Bu benim programın çıktısı şöyledir:
QNetworkReply::ContentOperationNotPermittedError The operation requested on the remote content is not permitted
Herhangi öneriler:
Completed: 0/0 0%
Finished
"Cannot open ftp://username:[email protected]/: is a directory"
Error code: 202
docs, 202 araç baktığımızda?