Ich versuche, eine Datei auf einen Server mit QNetworkAccessManager in Qt 5.0 auf CentOS 6.4 hochladen.Datei Upload-Fehler mit QNetworkAccessManager
Ich habe versucht, ein paar Beispiele online, aber keiner von ihnen funktioniert. QFTP funktioniert einwandfrei, ist jedoch langsam und wird nicht weiter unterstützt. Mein Code für den Upload ist:
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();
}
Dies ist die Ausgabe von meinem Programm ist:
Completed: 0/0 0%
Finished
"Cannot open ftp://username:[email protected]/: is a directory"
Error code: 202
bei der Dokumentation der Suche, 202 Mittel:
QNetworkReply::ContentOperationNotPermittedError The operation requested on the remote content is not permitted
Irgendwelche Vorschläge?