我正在尝试将文件上传到 FTP 服务器,这是由 vsftpd 创建的本地服务器。我在 vsftpd.conf 文件中设置了连接和传输文件所需的必要参数。我的要求是将文件上传到此服务器。当我记录 statechanged 消息时,我的 ftp 对象会发出 HostLookup、Connecting、Connected、Logged in、关闭和 Unconnected 消息。但是,当我检查目标目录时,文件在那里,但大小为 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();