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

时间:2015-04-07 17:06:33

标签: qt upload ftp

我的文件夹中有一个文件,我希望通过FTP将其发送到我的嵌入式Linux设备(很像thisthis以及this)。我知道这样做的一步一步,但是当我为它创建正确的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");即可?

1 个答案:

答案 0 :(得分:0)

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

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