当我尝试通过Qt在FTP上获取文件时出错

Error When I try to get an file on FTP by Qt

本文关键字:FTP 获取 文件 出错 Qt      更新时间:2023-10-16

环境:

Ftp: Centos6.5 + vsftp

客户端: 视窗7 64

错误:"Error while downloading Could not get file size."

错误代码:ContentNotFoundError 203

当我尝试在FTP上获取文件时,得到了该错误信息。但是当我使用Windows7 + IIS作为FTP服务器时.文件下载成功。

这是Qt代码:

    QUrl ftpInfo;
    ftpInfo.setScheme("ftp");
    ftpInfo.setHost("192.168.1.170");
    ftpInfo.setPath("/test.txt");
    ftpInfo.setPort(21);
    ftpInfo.setPassword("123");
    ftpInfo.setUserName("123");
    QNetworkRequest ftpRequest;
    ftpRequest.setUrl(ftpInfo);
    ftpReply = ftp->get(ftpRequest);
    connect(ftp, SIGNAL(finished(QNetworkReply*)), this, SLOT(readReply(QNetworkReply*)));
    connect(ftpReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError)));  

这是解决方案:

ftpInfo.setPath("/test.txt"); //For Linux Ftp not not work, But IIS Ftp no problem.
ftpInfo.setPath("test.txt"); //Both work fine.