• 6834阅读
  • 11回复

[提问]Qt5 FTp 上传下载出现 ContentAccessDenied 报错 [复制链接]

上一主题 下一主题
离线luanl
 

只看楼主 倒序阅读 楼主  发表于: 2019-10-19
最近在弄Qt5 FTP的一些事情,自己用FileZilla Server Interface 搭建了一个ftp Sverver 然后用Qt5 QNetworkAccessManager 的方式去实现,的确可以上传和下载但是问题来了,我调试的一个机器控制器内部带FTp,需要进行文件下载上传。但是就出现 :ContentAccessDenied这样的报错;中文的理解就是目录内容拒绝访问。
FTP 没有用户设置和密码设置,用FileZilla正常连接上传下载,不知道原因在哪里?还请指点
   //从服务器上下载文件到选中文件夹      
QNetworkAccessManager *accessManager = new QNetworkAccessManager(this);      
accessManager->setNetworkAccessible(QNetworkAccessManager::Accessible);//      
QUrl url("ftp://192.168.10.93/PROJECTS/LUAN.TXT");//PROJECTS/QK    
   url.setUserName("");      
url.setPassword("");      
  url.setPort(21);      
  QNetworkRequest request(url);      
  reply = accessManager->get(request);      
connect((QObject *)reply, SIGNAL(readyRead()), this, SLOT(readContent()));      
  connect(accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));      
  connect(reply, SIGNAL(downloadProgress(qint64 ,qint64)), this, SLOT(loadProgress(qint64 ,qint64)));      
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),SLOT(replyError(QNetworkReply::NetworkError)));






离线20091001753

只看该作者 1楼 发表于: 2019-10-19
你把目标文件的名字和目录,都设置成纯英文。如果成功的话,那应该就是编码问题了。
(づ ̄ 3 ̄)づ
离线luanl

只看该作者 2楼 发表于: 2019-10-20
回 20091001753 的帖子
20091001753:你把目标文件的名字和目录,都设置成纯英文。如果成功的话,那应该就是编码问题了。 (2019-10-19 23:23) 

都是英文路径,没有任何中文; url.setUserName("");      
url.setPassword("");      这两项设置的空字符串;不知道Qt5 的机制是不是跟这个有关系。其他都试过了,就是出现 ContextAccessDenied;
离线liulin188

只看该作者 3楼 发表于: 2019-10-20
用dos命令先试试
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线iceroad

只看该作者 4楼 发表于: 2019-10-22
不建议用QNetworkAccessManager来实现ftp功能,自己的亲身经历,做过个一个ftp上传图片的功能,用第三方工具就没问题,用QNetworkAccessManager经常上传失败,后来用的开源库libcurl来实现ftp,功能稳定,即使使用出现了问题,这个库可以直接给出ftp错误码
离线stlcours

只看该作者 5楼 发表于: 2019-10-22
不建议用FileZilla Server,随时随地掉线
离线luanl

只看该作者 6楼 发表于: 2019-10-23
回 iceroad 的帖子
iceroad:不建议用QNetworkAccessManager来实现ftp功能,自己的亲身经历,做过个一个ftp上传图片的功能,用第三方工具就没问题,用QNetworkAccessManager经常上传失败,后来用的开源库libcurl来实现ftp,功能稳定,即使使用出现了问题,这个库可以直接给出ftp错误码 (2019-10-22 14:49) 

QNetWorkAccessManage是比较坑爹,我后来注意到主动传输模式和被动传输模式,那个控制器必须要设置主动才能访问,折腾死人了,现在用Qt4里面的QFTP先用着。
离线luanl

只看该作者 7楼 发表于: 2019-10-23
回 stlcours 的帖子
stlcours:不建议用FileZilla Server,随时随地掉线[表情]  (2019-10-22 17:48) 

是一个控制器,File Server 用来模拟测试的;已经用Qt4里面的QFTP;
离线luanl

只看该作者 8楼 发表于: 2019-10-23
回 liulin188 的帖子
liulin188:用dos命令先试试 (2019-10-20 12:46) 

Dos是OK的,已经解决,使用Qt4 里里面的QFTP;

只看该作者 9楼 发表于: 2022-11-22
回 luanl 的帖子
luanl:Dos是OK的,已经解决,使用Qt4 里里面的QFTP; (2019-10-23 16:15) 

大哥,能分享一下你的ftp代码吗
离线fsu0413

只看该作者 10楼 发表于: 2022-11-23
Username设置成Anonymous,密码设置一个邮箱试试
离线fsu0413

只看该作者 11楼 发表于: 2022-11-23
我居然没注意到这是个19年的帖子。。。。
快速回复
限100 字节
 
上一个 下一个