版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:Qt使用QNetworkAccessManager实现Ftp操作     本文地址:http://techieliang.com/2017/12/653/

1. 介绍

QtNetwork是Qt网络操作模块,提供了基于TCP/IP的各种API,除了之前介绍过的最基础的TCP及UDP通讯:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端QUdpSocket-Qt使用Udp通讯实现服务端和客户端,还提供了HTTP、HTTPS、FTP等高级API,并统一使用QNetworkAccessManager进行操作。HTTP操作请看:Qt使用QNetworkAccessManager实现Http操作

qt4x分别使用QFtp和QHttp,5以后统一用QNetworkAccessManager

2. 使用说明

首先请看:Qt使用QNetworkAccessManager实现Http操作

ftp与http操作完全一样,只不过需要设置一下用户名、密码、地址、端口、文件路径。这些操作只需要对QUrl做配置,其余不需要改变

分别调用QUrl的

  1. void setUserName(const QString &userName, ParsingMode mode = DecodedMode)
  2. void setPassword(const QString &password, ParsingMode mode = DecodedMode)
  3. void setHost(const QString &host, ParsingMode mode = DecodedMode)
  4. void setPort(int port)
  5. void setPath(const QString &path, ParsingMode mode = DecodedMode)

上述对于还需要配置一下:setScheme(“ftp”)

  1. void setScheme(const QString &scheme)

这个指的是 ftp:// 和http://由于并没有通过setUrl设置url,需要主动的指定scheme

上面分别指定了ftp以及ip,port及path,这四项可以直接setUrl但是建议分别调用组合

3. 上传与下载

下载就是get,除了QUrl配置不一样其他与http完全相同,最后把get得到的所有数据保存到文件即可

上传那就是put,先从文件读取出所有数据,然后put即可,注意读取完存为QByteArray类型

转载请以链接形式标明本文标题和地址:Techie亮博客 » Qt使用QNetworkAccessManager实现Ftp操作

Qt使用QNetworkAccessManager实现Ftp操作的更多相关文章

  1. Qt使用QNetworkAccessManager实现Http操作

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt使用QNetworkAccessManager实现Http操作     本文地址:http ...

  2. PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  3. C# FTP操作

    using System; using System.Collections.Generic; using System.Net; using System.IO; namespace FTP操作 { ...

  4. paip.c++ qt 目录遍历以及文件操作

    paip.c++ qt 目录遍历以及文件操作 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/a ...

  5. 关于FTP操作的功能类

    自己在用的FTP类,实现了检查FTP链接以及返回FTP没有反应的情况. public delegate void ShowError(string content, string title); // ...

  6. FtpHelper ftp操作类库

    FtpHelper ftp操作类库 using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  7. C# FTP操作类的代码

    如下代码是关于C# FTP操作类的代码.using System;using System.Collections.Generic;using System.Text;using System.Net ...

  8. 【转载】C#工具类:FTP操作辅助类FTPHelper

    FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.可以通过C#中的FtpWebRequest类.NetworkCredential类.We ...

  9. Qt中与文件目录相关操作

    一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...

随机推荐

  1. Home Assistant系列--之树莓派安装Samba 和 Jupyter Notebook

    1.什么是Samba? Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上 ...

  2. PMP考试总结

    9月8日参加完PMP考试,从上第一次课7月14日到考试,历经56天.5次面授课,3次模考,对整个项目管理有了清晰的认识和学习.感觉上课是一回事,做题又是一回事,考试又是另外一回事.考试一共4个小时,从 ...

  3. Linux入门——基础系统设置命令

    以下为centos7实验环境 1.网卡管理工具命令——nmcli 参考:http://www.iteye.com/topic/1141839 2.主机名称设置——hostnamectl [root@s ...

  4. HDFS要点

    namenode存储的数据: 主控服务器主要有三类数据:文件系统的目录结构数据,各个文件的分块信息,数据块的位置信息(就数据块放置在哪些数据服务器上...).在GFS和HDFS的架构中,只有文件的目录 ...

  5. 20155217 实验四 Android程序设计

    20155217 实验四 Android程序设计 任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号. R.java文件是定义该项目所有资源的 ...

  6. 20155318 2016-2017-2《Java程序设计》课程总结

    20155318 2016-2017-2<Java程序设计>课程总结 每周作业链接 预备作业1:亦师亦友--我所期望的师生关系,对专业的认识与期望等 预备作业2:没有了自主,学习的小船说翻 ...

  7. 20155325 2016-2017-2 《Java程序设计》第4周学习总结

    教材学习内容总结 封装就是将数据与相关行为包装在一起以实现信息就隐藏. 多态是指不同的类对象调用同一个签名的成员方法时将执行不同代码的现象.多态是面向对象程序设计的灵活性和可扩展性的基础. 以封装为基 ...

  8. 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译

    SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...

  9. day 2 函数的嵌套

    1.函数的嵌套     百度百科 2.产品如何运作 3.应用 1)版本1:打印1条线 #1.定义函数 def print_line(): print("-"*50) #2.调用函数 ...

  10. 【洛谷P4556】 雨天的尾巴

    题面 题解 线段树合并 我们看到这道题目首先可以想到树上差分,然后\(dfs\)合并 发现题目让我们求的东西很好用线段树维护 于是可以想到线段树合并 全世界只有我写指针版动态开点线段树(大雾 如果你要 ...