【问题标题】:Error occuring when trying to upload file via FTP using Qt尝试使用 Qt 通过 FTP 上传文件时发生错误
【发布时间】:2015-06-12 09:05:24
【问题描述】:

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

QNetworkReply::ProtocolUnknownError 301 网络访问 API 无法接受请求,因为协议未知

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

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

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

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

任何帮助将不胜感激。

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

【问题讨论】:

    标签: qt upload ftp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多