Qt使用QNetworkAccessManager获取FTP文件函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Qt使用QNetworkAccessManager获取FTP文件函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1680字,纯文字阅读大概需要3分钟。
内容图文
![Qt使用QNetworkAccessManager获取FTP文件函数](/upload/InfoBanner/zyjiaocheng/1177/e6029d8276ae4492b5a07ef3d0ff95b3.jpg)
void Mystack::getFtpImg(QString ftpFilePath, QString curFileName) { QNetworkAccessManager* myNetworkManager = new QNetworkAccessManager(this); QNetworkRequest myNetworkRequest; QNetworkReply *myNetworkReply; QFile* downloadedFile = new QFile("./"+curFileName); downloadedFile->open(QIODevice::WriteOnly); QUrl url; url.setScheme("ftp"); url.setUserName(config.getSet()->value("FTP_USER_NAME").toString()); url.setPassword(config.getSet()->value("FTP_PASS_WORD").toString()); url.setHost(config.getSet()->value("FTP_HOST").toString()); url.setPort(config.getSet()->value("FTP_PORT").toInt()); url.setPath(ftpFilePath); Mymethod::record("try to download file by:"+url.toString(),PRINT_INFO); myNetworkRequest.setUrl(url); myNetworkReply = myNetworkManager->get(myNetworkRequest); QObject::connect(myNetworkReply,&QNetworkReply::readyRead,[=]{ downloadedFile->write(myNetworkReply->readAll()); }); QObject::connect(myNetworkManager,&QNetworkAccessManager::finished,[=]{ if(NULL==myNetworkReply) { Mymethod::record(getCodeLocate()+"myNetworkReply is null.",PRINT_ERR); return; } if(myNetworkReply->error() == QNetworkReply::NoError) { downloadedFile->close(); Mymethod::record("download file success:"+curFileName,PRINT_INFO); } else { Mymethod::record(getCodeLocate()+QString("download file:%1 failed,err:%2").arg(curFileName).arg(myNetworkReply->errorString()),PRINT_ERR); downloadedFile->close(); } myNetworkReply->deleteLater(); downloadedFile->deleteLater(); QObject::disconnect(myNetworkManager,0,0,0); myNetworkManager->deleteLater(); }); }
原文:https://www.cnblogs.com/judes/p/12859318.html
内容总结
以上是互联网集市为您收集整理的Qt使用QNetworkAccessManager获取FTP文件函数全部内容,希望文章能够帮你解决Qt使用QNetworkAccessManager获取FTP文件函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。