继续给上次编写的FluentFTP测试项目添加功能,主要包括下载文件、浏览下级文件夹、返回上级文件夹功能。
  首先是下载FTP服务器中的文件功能,主要是调用FtpClient类中的DownloadFile函数,指定本地目的路径和FTP服务器中的源文件路径即可。示意图及下载结果如下所示:

  接下来是浏览下级文件夹功能,主要还是调用GetListing函数获取指定文件夹内的文件清单。这个可以和下载文件合起来使用。双击测试项目中列出的FTP服务器文件清单,如果是文件,则提示用户下载文件,如果是文件夹,则显示选中文件夹内的文件清单。
  这里稍微麻烦的是如果当前目录不是根目录(即当前工作目录不为‘/’),则应提供返回上一级功能,使用其它ftp软件时该功能是标准功能。简单一点的话在文件列表旁边提供返回上一级按钮或菜单,用户点击时可以查看当前文件夹上一级目录的内容。也可以把上一级目录作为一个文件夹放在文件列表中。本文中采用后者实现返回上一级功能。
  显示文件清单用的ListView控件,每个ListViewItem关联了一个FtpListItem对象,在界面中只显示每个对象的类型和名称。如果需要下载文件或者浏览文件夹内容,则需要读取ListViewItem关联的FtpListItem对象中的FullName属性后再进行下一步操作。
  实现返回上一级功能时需要在ListView控件中新增一条记录并关联FtpListItem对象,但是在创建过程中发现无法指定FtpListItem对象的Fullname属性,该属性为只读,FtpListItem的构造函数中也只能指定Name属性。应该再定义一个类保存FtpListItem的Name、FullName和Type属性,其它FtpListItem属性暂不需要保存,或者是在ListView控件中新增一列保存FullName值,本文测试时嫌麻烦,还是用的FtpListItem对象,将上一级文件夹的目录保存在Name属性中,调用GetListing时检查如果FullName为空则使用Name值。
  同时FtpListItem返回的文件列表没有排序,文件和文件夹混杂在一起,为便于查看和点击,最好排一下序。
  浏览下级文件夹、返回上级文件夹的功能示意图如下,从根目录双击文件夹浏览下一级内容,然后双击文件清单最上级的文件夹返回上一级目录。

参考文献:
[1]https://github.com/robinrodricks/FluentFTP
[2]https://github.com/robinrodricks/FluentFTP/wiki/Classes

C#调用FluentFTP将文件批量上传到ftp服务器(续)相关推荐

  1. curl post https_Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序

    前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...

  2. 使用Linux命令cURL实现文件定时上传到ftp服务器的程序

    前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...

  3. curl http header_利用Linux命令cURL实现文件定时上传到ftp服务器的小程序,实用

    前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...

  4. 文件无法上传到ftp服务器,无法上传文件到FTP服务器使用C++

    我有这个简单的代码上传文件到服务器,但它似乎不工作,不上传任何文件(FtpPutFile返回0).我正在使用FileZilla服务器,这是我的代码和FileZilla所说的:无法上传文件到FTP服务器 ...

  5. php使用eval上传文件,PHP一句话实现单个文件批量上传?

    0×00 前言 很多时候当我们通过某个通用型RCE漏洞批量抓取了很多的webshell后,可能想要批量传个后门以备后用.这时,我们不禁会面临一个问题,使用菜刀一个个上传显得太慢,那么如何快速的实现文件 ...

  6. 使用WebUploader实现文件批量上传,进度条显示功能

    知识点:利用WebUploader,实现文件批量上传,并且实时显示文件的上传进度 参考官方文档:http://fex.baidu.com/webuploader/ (1)引入三个资源 JS,CSS,S ...

  7. php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)

    摘要 腾兴网为您分享:php文件上传代码(支持文件批量上传),雨课堂版,洋游码头,学堂里,小度等软件知识,以及电脑硬件温度检测软件,日事清app,lol韩服语音包,绝地求生无后座力设置,金山u盘卫士, ...

  8. fileupload实现多文件批量上传

    原文地址为: fileupload实现多文件批量上传 前提条件: 需要如下架包:下面是maven的配置信息 <!--文件上传依赖架包--> <dependency> <g ...

  9. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

  10. php文件如何上传到服务器,php文件怎么上传到云服务器

    php文件怎么上传到云服务器 内容精选 换一换 当服务器A和服务器B同时挂载同一文件系统C时,在服务器A上传文件,服务器B同步此文件时存在延时,而单独上传至服务器B则没有延时.需要在两个服务器的挂载参 ...

最新文章

  1. leetcode算法题--大礼包
  2. Winform中使用EasyPlayer-RTSP-Win开源组件实现播放RTSP视频流
  3. Sencha ID的注册
  4. IT从业的迷思与破解之道(更新)
  5. python xpath爬取电影top100_进击的爬虫-002-xpath实现猫眼电影前100爬取
  6. C语言解决约瑟夫问题详解的代码
  7. 上传项目到GitLab
  8. 分享:架构师软技能之协商
  9. java集合学习笔记--二维集合HashMap
  10. ipv6电视直播Android,关于高校电视直播(ipv4ipv6)
  11. matlab计算abc三相短路电流_电工都知道三相电动机按一千瓦两个电流计算 却不会计算公式...
  12. 0x80070057复制从服务器复制文件,解决win10更改用户文件夹提示0x80070057的方法
  13. LVGL|lvgl中文教程手册(lvgl中文文档学习教程)
  14. 【信号处理】因果系统的理解
  15. 今日头条各种套路玩法
  16. RHEL5配置Samba服务器实现文件共享
  17. cuda-z/gpu-z/cpu-z工具分析GPU显卡和CPU算力信息
  18. windows闹钟小脚本
  19. 另类分形图形赏:2007年分形艺术大赛获奖作品
  20. VMware NAT 端口映射

热门文章

  1. 初中物理课堂分组教学实验研究
  2. 软件测试指标图表分析,(最新整理)JMeter测试数据和测试结果分析图表
  3. 手把手教你做一个新浪博客发布软件JAVA版本(3)--打开浏览器并且登录新浪博客
  4. 第一次使用git clone拉取资源
  5. oracle session_wait,Oracle等待视图v$session_wait
  6. 腾讯云轻量应用服务器如何搭建跨境电商独立站?(WooCommerce)
  7. C#使用OpenCV识别答题卡填涂区域(方形圆形都可)
  8. 关于开发微信网页授权登录功能的一些问题和事项
  9. 如何让滚动条成横向滚动
  10. Python--numpy库基本用法整理