QNetworkAccessManager läd nur 32kb hoch

Alles rund um die Programmierung mit Qt
Antworten
schubc
Beiträge: 4
Registriert: 26. August 2009 19:57

QNetworkAccessManager läd nur 32kb hoch

Beitrag von schubc »

Ich versuche gerade, ein kleines FTP Upload tool zu schreiben, allerdings werden nur die ersten 32kb einer Datei hochgeladen.

cpp:

Code: Alles auswählen

	this->qnam =new QNetworkAccessManager();
	this->ulfile=new QFile(ui.ulfile->text());

	QUrl url;
	url.setScheme("ftp");
	url.setHost(e.attribute("server"));
	url.setUserName(e.attribute("user"));
	url.setPassword(e.attribute("password"));
	url.setPath(e.attribute("path")+"/"+QFileInfo(ulfile->fileName()).fileName());
	ui.progressBar->setMaximum(QFileInfo(ulfile->fileName()).size());
	ulfile->open(QIODevice::ReadOnly);

	connect(qnam, SIGNAL(finished(QNetworkReply* )), this, SLOT(ulfinished(QNetworkReply* )));
//	ulrep=qnam->put(QNetworkRequest(url),ulfile);

	this->uldata=ulfile->readAll();
	ulfile->close();
	this->ulrep=qnam->put(QNetworkRequest(url.toString()),uldata);

	connect(ulrep, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(ulerror(QNetworkReply::NetworkError)));
//	connect(ulrep, SIGNAL(uploadProgress(qint64, qint64)), ui.progressBar, SLOT(setValue(int)));
	connect(ulrep, SIGNAL(uploadProgress(qint64, qint64)), this, SLOT(ulpro(qint64, qint64)));
header:

Code: Alles auswählen

#ifndef QNAMTEST_H
#define QNAMTEST_H

#include <QtGui/QDialog>
#include "ui_qnamtest.h"
#include <QFile>
#include <QStringList>
#include <QString>
#include <QByteArray>
#include <QMessageBox>
#include <QFileDialog>
#include <QtXml>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QFileInfo>
#include <QNetworkReply>
#include <QtNetwork>
#include <QUrl>

class qnamtest : public QDialog
{
    Q_OBJECT

public:
    qnamtest(QWidget *parent = 0);
    ~qnamtest();

private:
    Ui::qnamtestClass ui;
    QByteArray crypt(QByteArray data, QByteArray key);
    QNetworkAccessManager* qnam;
    QFile* ulfile;
    QNetworkReply* ulrep;
    QByteArray uldata;

private slots:
	void on_sulfile_clicked();
	void on_skeyfile_clicked();
	void on_startul_clicked();
	void ulfinished(QNetworkReply* reply );
	void ulerror(QNetworkReply::NetworkError code);
	void ulprog(qint64 akt, qint64 max);
};

#endif // QNAMTEST_H
Ich steh mittlerweile völlig auf dem Schlauch und bin für jede Hilfe dankbar.
Antworten