#include <QtCore>
#include <QtNetwork>
#include <QDebug>
{
Q_OBJECT
public:
QUrl url
("ftp://localhost/incoming");
url.setUserName("test");
url.setPassword("password");
data
= new QFile(file,
this);
reply = nam.put(QNetworkRequest(url), data);
connect(reply, SIGNAL(uploadProgress(qint64, qint64)), SLOT(uploadProgress(qint64, qint64)));
connect(reply, SIGNAL(finished()), SLOT(uploadDone()));
}
else
qDebug() << "Oops";
}
public slots:
void uploadProgress(qint64 bytesSent, qint64 bytesTotal) {
qDebug() << "Uploaded" << bytesSent << "of" << bytesTotal;
}
void uploadDone() {
qDebug() << "Finished" << reply->error();
data->deleteLater();
reply->deleteLater();
}
private:
QNetworkAccessManager nam;
QNetworkReply *reply;
};
int main(int argc, char **argv)
{
Uploader u;
u.start("ten_meg_file.dat");
return app.exec();
}
#include "main.moc"
#include <QtCore>
#include <QtNetwork>
#include <QDebug>
class Uploader: public QObject
{
Q_OBJECT
public:
Uploader(QObject *p = 0): QObject(p) { }
void start(const QString &file) {
QUrl url("ftp://localhost/incoming");
url.setUserName("test");
url.setPassword("password");
data = new QFile(file, this);
if (data->open(QIODevice::ReadOnly)) {
reply = nam.put(QNetworkRequest(url), data);
connect(reply, SIGNAL(uploadProgress(qint64, qint64)), SLOT(uploadProgress(qint64, qint64)));
connect(reply, SIGNAL(finished()), SLOT(uploadDone()));
}
else
qDebug() << "Oops";
}
public slots:
void uploadProgress(qint64 bytesSent, qint64 bytesTotal) {
qDebug() << "Uploaded" << bytesSent << "of" << bytesTotal;
}
void uploadDone() {
qDebug() << "Finished" << reply->error();
data->deleteLater();
reply->deleteLater();
}
private:
QNetworkAccessManager nam;
QFile *data;
QNetworkReply *reply;
};
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
Uploader u;
u.start("ten_meg_file.dat");
return app.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
Bookmarks