vsftpd によって作成されたローカル サーバーである FTP サーバーにファイルをアップロードしようとしています。vsftpd.conf ファイルにファイルの接続と転送に必要なパラメーターを設定しました。私の要件は、このサーバーにファイルをアップロードすることです。statechanged メッセージをログに記録すると、HostLookup、Connecting、Connected、Logged in、closed、および Unconnected のメッセージが ftp オブジェクトによって出力されました。しかし、宛先ディレクトリをチェックインすると、ファイルはそこにありますが、サイズは 0 です...何が問題なのですか? 以下は私が使用したコードです...
QImage img("./Sample.jpg");
QBuffer* buf = new QBuffer();
buf->open(QBuffer::ReadWrite);
buf->seek(0);
img.save(buf, "jpg");
connection = new QFtp();
connection->connectToHost("localhost");
connection->login();
connection->cd("ftpshare/");
connection->put(buf, "Sample.jpg", QFtp::Binary);
qDebug(QString::number(connection->error()).toLatin1());
qDebug(connection->errorString().toLatin1());
connect(connection,SIGNAL(stateChanged(int)),this,SLOT(ftpstatechanged(int)));
connection->close();