来源:https://blog.csdn.net/nanfeibuyi
一、简述
记--Qt5 默认已经不支持QFtp了,需要自己编译。例子使用QNetworkAccessManager实现简单的ftp文件上传和下载。
例子打包外链:
(资料图片仅供参考)
二、效果
例子中在虚拟机Ubuntu16.04 搭建了ftp服务器,windwos主机跟Ubuntu虚拟机能ping通。
用户名密码可以使用Ubuntu的账号,也可以自己添加新用户。
三、工程结构
四、源文件
mainwindow.h文件
#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include#include#include#include#defineFTP_PORT21namespaceUi{classMainWindow;}classMainWindow:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(QWidget*parent=0);~MainWindow();privateslots:voidon_pushButtonDownload_clicked();voidslot_NetworkAccessManagerUploadProcess(QNetworkReply*);voidslot_NetworkAccessManagerDownloadProcess(QNetworkReply*);voidon_pushButtonUploadFile_clicked();private:Ui::MainWindow*ui;QNetworkAccessManagermNetworkAccessManagerUpload;QNetworkAccessManagermNetworkAccessManagerDownload;};#endif//MAINWINDOW_H
五、附
例子中在虚拟机Ubuntu16.04 搭建了ftp服务器,windwos主机跟Ubuntu虚拟机能ping通。
5.1 确认能ping通:
5.2 确认ftp服务器已经启动
5.3 Ubuntu16.04 安装ftp服务器
//在线安装,一般安装成功后ftp服务器就自动启动了,使用ps-ef|grepvsftpd确认sudoapt-getinstallvsftpd//编辑配置文件,启用write_enable=YES不然不能上传文件sudo/etc/vsftpd.conf修改配置后保存然后重启vsftpd,执行sudo/etc/init.d/vsftpdrestart//如果之前安装过但是有问题,可以使用这一句进行移除sudoapt-getpurgevsftpd
本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
注意
由于微信公众号近期改变了推送规则,为了防止找不到,可以星标置顶,这样每次推送的文章才会出现在您的订阅列表里。
猜你喜欢:
易懂 | 手把手教你编写你的第一个上位机
适用于嵌入式的差分升级通用库!
分享一种灵活性很高的协议格式(附代码例子)
分享几个实用的代码片段(第二弹)
分享一种你可能不知道的bug定位方法
分享一种修改配置文件的方法
《嵌入式大杂烩周记第 13 期:lz4》
《嵌入式并行多线程处理器,了解一下!》
在公众号聊天界面回复1024,可获取嵌入式资源;回复m,可查看文章汇总