QT6.6.0和QT6.0以下的版本实现FTP文件上传和下载(过程详解)
创始人
2024-09-26 06:25:50
0

目录

QT6.0以下版本实现FTP文件的上传和下载

1.从本地上传到搭建的FTP服务器上

2.从搭建的FTP服务器上下载文件到默认的路径

QT6.6.0版本实现FTP文件的上传和下载

1.不需要编译curl源码的使用方式

2.需要编译curl源码的使用方式

Curl拓展使用


B站视频讲解链接icon-default.png?t=N7T8https://www.bilibili.com/video/BV1zNvkeAEZy/?vd_source=b2eaaddb2c69bf42517a2553af8444ab

GitHub源码icon-default.png?t=N7T8https://github.com/KeepTryingTo/QT_Learning/tree/main

QT初学案例教程
QT6.6.0实现打开电脑摄像头或其他的外接摄像头(实现拍照功能)
QT6.6.0实现简单的录音器
QT6.6.0实现一个简单的视频和音频播放器
T6.6.0实现简单的视频录制(包含语音录制)器
QT6.6.0关于QMediaMetaData功能以及列子说明使用方法
QT6.6.0实现QtCamera功能(拍照,录像以及图像和视频的相关配置)
T6.6.0实现更好的视频播放器(前期改进)
QT6.6.0实现图表如饼图,柱状图,散点图以及盒图等的基本使用
QT6.6.0实现客户端Socket编程以及socket测试软件通信
QT6.6.0 实现服务端Server和多个客户端Client通信以及socket测试软件通信
QT6.6.0 实现QNetworkAccessManager的基本应用以及其拓展使用
QT6.6.0 实现服务端Server和多个客户端Client互相发送文件信息

本文主要是实现FTP协议的文件传输,QT实现从FTP服务器下载文件以及从上传文件至FTP服务器,写本文的过程稍微有一点艰辛,原因在于QT6.0版本不再支持FTP协议(被这一点给整惨了)。由于自己使用的QT版本为6.6.0,不再支持FTP协议,因此不能直接使用QNetworkAccessManager来实现FTP文件上传和下载,读者在网上所看到能运行的代码应该都是QT6.0版本以下的,从下面截图内容也可以看到,QT6.0版本及以上都不支持FTP协议。因此,QT6.0以上要实现文件的传输,需要借助libcurl库,导致最终的过程比较复杂,好吧!我们还是一步一步的来,首先从QT6.0版本以下开始实现,然后才是QT6.6.0,希望读者可以坚持读下去。[GitHub源码]

内容来源

QT6.0以下版本实现FTP文件的上传和下载

搭建FTP服务器
https://blog.csdn.net/qq_44540071/article/details/140325358
https://blog.csdn.net/2301_78216479/article/details/138161487

注意:这里所谓的FTP服务器指的是本地,也就是FTP的物理路径是在本地,为了测试FTP服务器是否搭建成功,可以使用在同一局域网(连接的同一个热点或者路由器)的两台电脑或者使用FileZilla客户端工具测试。FileZilla工具下载链接。icon-default.png?t=N7T8https://mydreamambitious.blog.csdn.net/article/details/127171313

 假设读者已经完成了FTP服务器的搭建过程,这里使用FileZilla客户端工具测试连接。

测试没有问题之后就是开始运行代码程序,实现文件的上传和下载了。

1.从本地上传到搭建的FTP服务器上

2.从搭建的FTP服务器上下载文件到默认的路径

(D:\Softwares\qt\projects\QtFTPClient\build\Desktop_Qt_5_15_2_MinGW_32_bit-Debug\debug)

QT6.6.0版本实现FTP文件的上传和下载

相关链接
curl 用于在命令行或脚本中传输数据。curl 也是libcurl ,用于汽车、电视机、路由器、打印机、音响设备、手机、平板电脑、医疗设备、机顶盒、电脑游戏、媒体播放器。并且支持我熟悉的FTP,FTPS,HTTP,HTTPS等协议。
libCurl官方
libCurl源码
相关库介绍
官方文档教程
curl-win64-mingw.zip文件下载
curl安装配置
libcurl传输

1.不需要编译curl源码的使用方式

curl-win64-mingw.zip下载解压以及安装配置完成之后就可以直接 创建QT项目并加入相关的头文件以及库文件路径了。

QtFTPClient&Server

2.需要编译curl源码的使用方式

需要准备的工具
visual studio 2022下载和安装
CMake安装和下载
Curl8.9.1源码下载
参考链接(主要不是很完整,因此本文重写一下)

第一步:打开CMake工具

C编译器和C++编译器的位置:D:\SoftwareFamily\QT\qt\Tools\mingw1120_64\bin(也就是QT安装位置下面) 

点击generate之后,点击open Project ,然后就会进入Visual Studio 2022。

Curl拓展使用

如果读者已经配置好了CURL,下面的例子是在配置好curl的基础上使用。关于FTP服务器的搭建,前面已经给出链接。

配置链接icon-default.png?t=N7T8https://blog.csdn.net/weixin_45191386/article/details/130652821

curl教程icon-default.png?t=N7T8https://curl.se/docs/tutorial.html

这里以下面前三条语句作为例子演示给读者看。

假设我搭建的FTP服务器用户名以及IP地址如下:

用户名:ftpUser

密码:ftp0715

上传文件名:main.cpp(当前目录下的一个文件)

第一条语句:

第二条语句(将本地文件上传到远程新建的一个文件demo.cpp)

第三条语句(上传成功之后可以到搭建的FTP服务器物理路径查看,是否已经上传成功)

注:还有很多其他的例子可以去尝试,读者可以自己去尝试。

相关内容

热门资讯

十分钟辅助“荔枝竞技通用辅助器... 十分钟辅助“荔枝竞技通用辅助器”开挂(透视)辅助挂必备教程-知乎 >>您好:软件加薇13670430...
教程辅助“德普之星透视挂”开挂... 教程辅助“德普之星透视挂”开挂(透视)辅助软件-知乎;亲,德普之星透视挂这款游戏原来确实可以开挂的,...
大家学习交流“玉海楼茶苑游戏攻... 大家学习交流“玉海楼茶苑游戏攻略”附开挂平台辅助详细教程;无需打开直接搜索打开薇:136704302...
推荐几款新版"雀友会... 推荐几款新版"雀友会免费自动挂机脚本"开挂(软件)辅助软件详细教程-有挂猫腻>>您好:软件加1367...
透视辅助“微信小程序修改器”开... 微信小程序修改器开挂教程视频分享装挂详细步骤在当今的网络游戏中,微信小程序修改器作为一种经典的娱乐方...
玩家交流“福州十八扑插件”附开... >>您好:福州十八扑插件确实是有挂的,很多玩家在这款福州十八扑插件游戏中打牌都会发现很多用户的牌特别...
教程辅助“德普之星透视辅助软件... >>您好:德普之星透视辅助软件确实是有挂的,很多玩家在这款德普之星透视辅助软件游戏中打牌都会发现很多...
一分钟揭秘"上品游戏... 【亲,上品游戏辅助器 这款游戏可以开挂的,确实是有挂的,很多玩家在这款上品游戏辅助器中打牌都会发现很...
每日必看教程“决战卡五星辅助源... 决战卡五星辅助源码 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: ...
详细辅助“wepoker辅助器... 详细辅助“wepoker辅助器怎么弄”开挂(透视)辅助插件wpk教程-哔哩哔哩>>您好:软件加136...