导航:首页 > 源码编译 > qt5ftp源码下载

qt5ftp源码下载

发布时间:2022-12-21 18:18:48

Ⅰ qt实现ftp创建文件夹命令

本文实例为大家分享了QT实现FTP上传文件的具体代码,供大家参考,具体内容如下

两台电脑通过网线建立本地连接,保证网关在同一段;

服务器端打开ftp;

控制面板→程序→启用或关闭windows功能→windows功能→Internet信息服务
启用“FTP服务”FTP扩展性” IIS管理控制台”

开始屏幕的搜索中输入“IIS”,然后点击打开“IIS管理器”
打开“IIS管理器”后,在左栏的“网站”上点击右键,打开“添加FTP站点”
然后按照提示填写站点信息
点击“下一步”,按照下图提示,设置“绑定和SSL设置”,在“IP地址”处,可以用内网IP也可以用外网IP,访客自然也就根据你的IP设定来决定;
点击“下一步”,设置“身份验证和授权信息”
然后在本机浏览器地址栏中输入“ftp://填写的IP”测试一下

客户端网页测试远程访问;

客户端(另一台电脑)浏览器地址栏中输入“ftp://填写的IP”测试一下

客户端cmd测试远程访问;

win+r打开运行窗口,输入cmd
回车打开cmd命令窗口
cmd命令中输入:ftp回车
回车切换至ftp命令窗口,输入命令:open,回车提示:到
到即所要连接测试的ftp地址,我们输入:IP 22
即:ip地址+空格+端口号,没有+号
回车后弹出用户一行,输入ftp的用户名后回车,输入ftp用户名对应的密码
输入密码后回车,如果提示,user logged in就说么ftp创建无问题

客户端程序测试远程访问。

新建程序,添加ftpclass.cpp、ftpclass.h,复制main.cpp内容到程序入口函数
注意:/项目-属性-常规-字符集-使用多字节字符集/

//main.cpp
#include "stdafx.h"
#include "ftpclass.h"

void main()
{
printf("------- 开始测试!------\n");
printf("01--创建连接 %d\n", FtpClass::createConnection());
printf("02--打开目标ftp %d\n", FtpClass::createTable());

/*可以读取ini内参数
FtpClass::ftp_Ip = TEXT("Ini读取");
FtpClass::ftp_Port = TEXT("Ini读取");
FtpClass::ftp_User = TEXT("Ini读取");
FtpClass::ftp_Password = TEXT("Ini读取");
FtpClass::ftp_Fixed_Path = TEXT("Ini读取");*/

printf("03--创建文件夹 %d\n", FtpClass::createFolder("自动生成目录1","自动生成目录2","自动生成目录3"));
/*上传目标路径*/

printf("04--上传文件 %d\n", FtpClass::insert( "D:/a.txt", "b.txt"));
/*本机文件需要上传文件*/ /*上传后文件名称,可以和本地文件名称不一样,类型最好别换*/

printf("05--关闭通讯 %d\n", FtpClass::createClose());
printf("------ 结束测试!------\n");

return ;
}
//ftpclass.h
/*项目-属性-常规-字符集-使用多字节字符集*/
/*wininet.lib、shlwapi.lib可以直接添加到附加依赖项*/
/*BOOL_VERIFY、NULL_VERIFY 程序结束判断*/

#pragma once

#pragma comment(lib,"wininet.lib")
#pragma comment(lib,"shlwapi.lib")

#define BOOL_VERIFY(emStatus_bool,switch_bool) \
if (emStatus_bool == true)\
{return true;}\
else{\
if (switch_bool == 3) printf(" FTP_03_err:创建文件夹失败!%d\n"); \
if (switch_bool == 4) printf(" FTP_04_err:上传文件失败!\n"); \
if (switch_bool == 5) printf(" FTP_05_err:关闭窗口句柄失败!\n"); \
return false;\
}

#define NULL_VERIFY(emStatus_null,switch_null) \
if (emStatus_null != NULL)\
{return true;}\
else{\
if (switch_null == 1) {printf(" FTP_01_err:打开通讯错误 Error:%d\n", GetLastError());}\
if (switch_null == 2) {printf(" FTP_02_err:建立连接错误 Error:%d\n", GetLastError());}\
return false;\
}

#include "stdafx.h"//没用
#include <afxinet.h>//MFC相关
#include "wininet.h"//调用FTP相关类
#include "shlwapi.h"//调用文件操作相关类

class FtpClass
{
public:
/*ini读取变量*/
static CString ftp_Ip;//目标ip
static CString ftp_Port;//目标端口
static CString ftp_User;//目标账户
static CString ftp_Password;//目标密码
static CString ftp_Fixed_Path;//目标固定路径
static CString ftp_Free_Path;//目标自己生成路径

/*全局变量*/
static BOOL pRes;
static HINTERNET hInternet;
static HINTERNET hConnect;

/*全局函数*/
static bool createConnection(); //创建一个连接
static bool createTable();
static bool ThreadInternetConnect(PVOID )
//打开目标ftp
static bool createFolder(CString temp1, CString temp2, CString temp3); //上传文件
static bool insert(CString temp, CString temp1); //出入数据
static bool createClose(); //断开连接
};
//ftpclass.cpp
#include "stdafx.h"
#include "ftpclass.h"

CString FtpClass::ftp_Ip = TEXT("192.168.3.104");
CString FtpClass::ftp_Port = TEXT("21");
CString FtpClass::ftp_User = TEXT("Administrator");
CString FtpClass::ftp_Password = TEXT("xinxin");
CString FtpClass::ftp_Fixed_Path = TEXT("1级固定目录/2级固定目录/3级固定目录");
CString FtpClass::ftp_Free_Path = TEXT("自动生成目录");
BOOL FtpClass::pRes = false;
HINTERNET FtpClass::hInternet = NULL;
HINTERNET FtpClass::hConnect = NULL;

//创建一个连接
bool FtpClass::createConnection() {
/*ftp_Ip = TEXT("Ini读取");
ftp_Port = TEXT("Ini读取");
ftp_User = TEXT("Ini读取");
ftp_Password = TEXT("Ini读取");
ftp_Fixed_Path = TEXT("Ini读取");*/

hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
NULL_VERIFY(hInternet,1);
}
bool FtpClass::ThreadInternetConnect(PVOID param) {

// 打开http
hConnect = InternetConnect(hInternet, ftp_Ip, INTERNET_DEFAULT_FTP_PORT,//INTERNET_DEFAULT_FTP_PORT 第三个参数默认值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);

return 1;
}

//打开目标ftp
bool FtpClass::createTable()
{
/*hConnect = InternetConnect(hInternet, ftp_Ip, 25,//INTERNET_DEFAULT_FTP_PORT 第三个参数默认值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);
NULL_VERIFY(hConnect,2);*/
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInternetConnect, (LPVOID)NULL, 0, NULL);
//超时3秒,如果等待结果是超时
if (WaitForSingleObject(hThread, 3 * 1000) == WAIT_TIMEOUT) {
TerminateThread(hThread, 0);
CloseHandle(hThread);
NULL_VERIFY(hConnect, 2);
}
NULL_VERIFY(hConnect, 2);
}

//上传文件
bool FtpClass::createFolder(CString temp1, CString temp2, CString temp3)
{
/*新建文件件每次只能创建一级,多个需要分多次创建*/
pRes = false;
ftp_Free_Path = "";
ftp_Free_Path = ftp_Fixed_Path + "/" + temp1;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp2;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp3;
pRes = FtpCreateDirectory(hConnect, ftp_Free_Path);
BOOL_VERIFY(pRes,3);
}
//出入数据
bool FtpClass::insert(CString temp, CString temp1)
{
pRes = false;
ftp_Free_Path = ftp_Free_Path + "/" +temp1;
pRes = FtpPutFile(hConnect, temp,/*本机文件*/
ftp_Free_Path, /*TEXT("一级目录/二级目录/三级目录/a.txt"),*/
FTP_TRANSFER_TYPE_ASCII, 0);
BOOL_VERIFY(pRes,4);
}
//断开连接
bool FtpClass::createClose()
{
pRes = false;
if (InternetCloseHandle(hConnect))
pRes = InternetCloseHandle(hInternet);
BOOL_VERIFY(pRes,5);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Ⅱ 各位前辈,qt的源码怎么获取,在哪里可以看到

  1. 去qt官网下载源代码。

  2. 在本地将源码编译

  3. 使用刚才编译的qt库来调试,在程序加加断点,就可以跟踪进qt的源代码。

Ⅲ Qt QFtp或QNetworkAccessManager中有没有哪个成员能获取FTP远程文件的大小

qt5之后就不在使用QFtp QHttp,因为QNetworkaccessmanager已经替代了大部分功能,不知道digia在想啥,又不完全替换所有功能,有2种方法供用户选择
1现在编译ftp源码
2.使用第三方libcurl库!

Ⅳ Qt现在是不是不提供完整的源码包下载了

不是。
“http://www.qtsoftware.com/downloads”
在“LGPL/FREE”“Qt: Framework Only”里选平台,如Windows。
“http://www.qtsoftware.com/downloads/windows-cpp”
在“Source code available on this link:”这行字下面有
“http://get.qtsoftware.com/qt/source/qt-win-opensource-src-4.5.2.zip”

Ⅳ 谁有最新版QT下载地址200分等你来拿哦

Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分 Qt 支持所有 Unix 系统,当然也包括 linux,还支持 WinNT/Win2k,Win95/98 平台。

.QT安装
1.安装环境
主机:Red Hat Fedora Core 4
编译器:gcc-4.0.0-8 make-3.80-7
软件:qt-x11-opensource-src-4.1.2.tar.gz
2.安装过程
1).配置
$./configure [--option]
(具体配置选项可以用./configure --help查看,依据自己需要
选择option)
2).编译&建立
make
3).make install
3.建立环境变量
$PATH=/usr/local/Trolltech/Qt-4.1.2/bin:$PATH
$export PATH
$QTDIR=/usr/local/Trolltech/Qt-4.1.2
$export QTDIR
(可以在/etc/profile文件中添加如下两行
PATH=/usr/local/Trolltech/Qt-4.1.2/bin:$PATH
QTDIR=/usr/local/Trolltech/Qt-4.1.2
export QTDIR PATH
)
4.安装psql, odbc, sqlite, mysql的驱动
在configure的时候,要加上如下配置项
$./configure -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc \
>-plugin-sql-psql

修改一下文件src/plugins/sqldrivers/mysql/mysql.pro在最开始处,
加上下面两行
INCLUDEPATH += /usr/include/mysql
LIBS += -L/usr/lib/mysql
(否则可能会提示找不到mysql函数)

保存后,退出来,然后运行
$./configure -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc \
>-plugin-sql-psql -continue
$make
$make install

转到src/plugins/sqldrivers/mysql/目录下,运行
make

然后把plugins/sqldrivers/目录下面的libqsqlmysql.so,
libqsqlmysql_debug.so拷贝到/usr/local/Trolltech/Qt
4.1.0/plugins/sqldrivers目录下面,完成

下载地址:

ftp://ftp.trolltech.com/qt/source/qt-win-opensource-4.3.2-mingw.exe

Ⅵ 讨论上Windows平台怎么编译Qt5

Qt5的编译官方有一篇wiki:http://developer.qt.nokia.com/wiki/Building_Qt_5_from_Git
简要的总结下我的体会,欢迎补充完善、批评指正。

1.First clone the top-level qt5 git repository:

git clone git://gitorious.org/qt/qt5.git qt5

这一行不用说了,自然是将Qt5的代码克隆。不过,如果你只是初次克隆Qt5的代码,会很惊讶:为何克隆后的代码只有十几MB?
原来,Qt5已经实现了Qt的模块化,详见:http://labs.qt.nokia.com/2011/05/12/qt-moles-maturity-level-the-list/
所以可以在克隆得到的Qt5源码根目录下看到:.gitmoles 文件,其内容部分摘录如下:
[submole "qtbase"]
path = qtbase
url = git://gitorious.org/qt/qtbase.git
[submole "qtsvg"]
path = qtsvg
url = git://gitorious.org/qt/qtsvg.git
[submole "qtdeclarative"]
path = qtdeclarative
url = git://gitorious.org/qt/qtdeclarative.git
...
这时,有Git基础的朋友一定会想到:
git submole init
git submole update
不过,请不要这样做!

2. Following the README file we initialize the repository. This clones the various sub-moles of Qt5:
./init-repository

这是一个perl脚本。如果是在msys-git下,会发现Perl的版本不够。
我们需要安装一个Windows版本的Perl:http://www.activestate.com/activeperl/downloads
安装好以后,Perl就添加到PATH环境变量中去了。
在MSVC的控制台下执行:
perl init-repository --help

注意,不是直接执行init-repository,要用perl来执行它。看看帮助:大致了解下有哪些功能。

3. 注意它的三个小提示:
Hint1: If you’re going to contribute to Qt 5, you’ll need to pass the —codereview-username <Jira/Gerrit username> option to set up a “gerrit” remote for all the sub-moles.
Hint2: If you’re having problems downloading the webkit repository (which is quite big), you can pass —no-webkit.
Hint3: If you’re behind a firewall, pass —http

4. 我的方法:
perl init-repository -f --codereview-username loaden

这样就可以实现子模块的批处理了。特别要注意的是:在处理这些子模块时,其实是git clone了这些子模块,以致于他们可以独立使用。在qt5\qtbase目录下可以找到.git目录。
这与git submole update的结果是不一样的!!
同时我使用了codereview的用户名,是为了可以创建一个名为gerrit的远程仓库,可以将贡献的代码推送进去,类似:
git push gerrit HEAD:refs/for/master

5. 源码下载是非常慢的,因为QtWebkit达到了1.7GB。源码下载完成后,进入Qt5源码目录,配置环境变量:
set PATH=%CD%\qtbase\bin;%PATH%

之后echo看一下结果是否正确:
echo %PATH%

6. 建议直接在Qt5的源码目录下执行配置!
configure -confirm-license -opensource -release -shared -platform win32-msvc2010 -fast -no-stl -no-qt3support -nomake examples -nomake demos -nomake tests

7. 编译全部模块,直接执行nmake就可以了。如果只编译一个模块,可以这样:
nmake mole-qtbase

双击打开Qt5目录下的Makefile文件,可以看到有这些模块:
SUBTARGETS = \
mole-qtbase \
mole-qtsvg \
mole-qtphonon \
mole-qtxmlpatterns \
mole-qtdeclarative \
mole-qttools \
mole-qttranslations \
mole-qtdoc \
mole-qlalr \
mole-qtqa \
mole-qtlocation \
mole-qtactiveqt \
mole-qtsensors \
mole-qtsystems \
mole-qtmultimedia \
mole-qtfeedback \
mole-qtquick3d \

mole-qtdocgallery \
mole-qtpim \
mole-qtconnectivity \
mole-qtwayland \
mole-qtjsondb \
sub-qtwebkit-pri \
mole-qtwebkit-examples-and-demos

Ⅶ qt-win-opensource-src-5.2.1这个在哪里下载

http://mirrors.ustc.e.cn/qtproject/official_releases/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.zip

mySql没弄过,自己去GG吧

Ⅷ 求助,我在linux下安装的Qt5为什么用GDB调试器无法进入源码

打开命令终端面板输入:sudo apt-get install gdb 如图所示: 即可安装,如果还是不可以,那就使用下面这种方式安装: 打开终端输入: wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz 下载完毕后解压 tar -zxvf /gdb-7.9.tar.gz 然后进行安装即可

Ⅸ 请问大佬有qt5quick.dll V1.0软件免费百度云资源吗

《qt5quick.dll V1.0》网络网盘免费下载

链接: https://pan..com/s/1q45GPOLAV55t4jqK9kGhew

提取码: nk3c

软件名称:qt5quick.dllV1.0

语言:简体中文

大小:705KB

类别:系统工具

介绍:qt5quick.dll是电脑中非常重要的一个注册表文件。如果缺少的话就会提示“无法找到qt5quick.dll”或“计算机缺少qt5quick.dll”,那么用户可以下载这个dll文件轻松修复问题!

Ⅹ 《Qt5编程入门》pdf下载在线阅读,求百度网盘云资源

《Qt5编程入门》霍亚飞程梁电子书网盘下载免费在线阅读

链接:

密码:mvcw

书名:Qt5编程入门
作者名:霍亚飞程梁
出版社:北京航空航天大学出版社
出版年份:2015-1-30
页数:388
内容介绍:
全新,基于 Qt 5.3 编写,全面涉及 Qt Quick;经典,植根于 Qt 网络博客教程,可无限更新;基础,对每个知识点详尽讲解,并设计了示例程序;系统,与《Qt Creator 快速入门(第2版)》相辅相成;
作者介绍:
霍亚飞:嵌入式软件工程师,热爱编程,热爱开源!在博客中发表了大量Qt、Linux教程和开源软件,被众多网友奉为经典!参与创建Qt爱好者社区,进行Qt及开源项目的推广和普及!程梁:软件研发工程师,关注IT技术的创新和改革,专注于Qt技术开发教程的编写。建立博客,创作大量有创意、实践性强的技术开发文章,与广大网友分享、互动,在网络上广受好评。致力于带领广大Qt爱好者步入Qt的精彩世界,与更多朋友分享成功的乐趣。

阅读全文

与qt5ftp源码下载相关的资料

热点内容
广播PDF 浏览:212
单片机编程300例汇编百度 浏览:33
腾讯云连接不上服务器 浏览:221
不能用来表示算法的是 浏览:859
6轴机器人算法 浏览:890
手机主题照片在哪个文件夹 浏览:294
安卓手机后期用什么软件调色 浏览:628
cad修改快捷键的命令 浏览:242
好钱包app怎么登录不了 浏览:859
树莓派都用python不用c 浏览:757
access文件夹树的构造 浏览:662
安卓多指操作怎么设置 浏览:658
linux树形目录 浏览:727
平方根的简单算法 浏览:898
千牛订单页面信息加密取消 浏览:558
单片机自制红外遥控灯 浏览:719
服务器最小配置怎么弄 浏览:853
ibm服务器硬件如何升级 浏览:923
全球程序员节点赞 浏览:986
php函数传递数组 浏览:632