尝试使用 Qt 通过 FTP 上传文件时出错

Error occuring when trying to upload file via FTP using Qt

我的文件夹中有一个文件,我想通过 FTP(很像 this and this and this)将它发送到我的嵌入式 Linux 设备。我知道一步一步来做,但在为它创建正确的 QUrl 时我失败了:当我调用“'put'”时,我总是收到错误 301:

QNetworkReply::ProtocolUnknownError 301 the Network Access API cannot honor the request because the protocol is not known

作为细节,我想将文件保存在设备的 SD 卡内的特定目录中,/media/mmcblk0p2/bin,并且连接没有密码和用户,至少目前是这样名称定义¹。同样有趣的是,我无法使用终端通过 FTP 连接自己;它总是说“421 服务不可用,远程服务器已关闭连接”,这不是同一个问题 AFAIK。 (顺便说一句,我可以使用 FileZilla 通过 SSH 连接,所以这不是 hardware/physical 问题)

那么问题出在哪里呢?我的代码与上述 link 中的代码完全相同。至于现在,我使用的link是

ftp://10.1.25.10/media/mmcblk0p2/bin/center.png

(当使用 QDebug 返回 QUrl 对象时)我无法让它工作。

如有任何帮助,我们将不胜感激。

¹:顺便说一句,我记得在某处读到,当不使用用户名连接到 FTP 时,系统只允许客户端连接到 /ftp 文件夹。真的吗?在那种情况下,只需调用 QUrl::setUserName("root"); 就足够了吗?

我终于发现了我的问题:因为我是从上传到 HTTP 服务器的示例中复制代码,所以我使用的是函数 "post",特定于 HTTP,而不是 "put"正确使用函数。

关于 QUrl,我使用了 QUrl urlTemp("//10.1.25.10/test.info");,同时告诉它使用 ftp 方案,urlTemp.setScheme("ftp");