利用FtpClient类实现文件的上传下载功能

C# FTP客户端实例 非常详细的C# FTP客户端实例,内含用户自定义的FTP控件,可嵌入到自己的程序中使用 立即下载

该代码源自互联网,并经过修改:

解决了中文文件名会出现乱码的情况;

改善了上传不稳定的问题(但没有从根本上解决,目前只知道在接收Socket时有时会收到一半就退出,结果造成接收数据不完整,经常出现在Dir时。尚未仔细研究。)

FtpClient.cs

    /// <summary>
    
/// FtpClient 的摘要说明。
    
/// </summary>

    public class FtpClient : IDisposable
    
{
        
私有变量

        
// 构造方法
        构造方法

        
// 属性
        BlockSize 接收和发送数据的缓冲区大小

        
ServerAddress Ftp 服务器地址

        
ServerPort Ftp 服务器端口

        
RemotePath 当前服务器目录

        
LoginUser 登录用户账号

        
LoginPassword 用户登录密码

        
Connected 是否登录

        
// 接口
        IDisposable 成员

        
// 私有方法
        ReadReply

        
CreateDataSocket 建立进行数据连接的socket

        
CloseSocketConnect 关闭socket连接(用于登录以前)

        
ReadLine 读取Socket返回的所有字符串

        
SendCommand 发送命令并获取应答码和最后一行应答字符串

        
// 公共方法
        Connect 建立连接

        
EnsureConnected 确保已经连接到服务器

        
Close 关闭连接

        
TransferType 获取或设置传输模式

        
Dir 获得文件列表

        
GetFileSize 获取文件大小

        
Delete 删除

        
Rename 重命名文件(如果新文件名与已有文件重名,将覆盖已有文件)

        
Download 下载文件

        
Upload 上传文件

        
MakeDirectory 创建目录

        
RenameDirectory 删除目录

        
ChangeDirectory 改变当前目录
    }

FtpClientException.cs

    /// <summary>
    
/// FtpClientException 的摘要说明。
    
/// </summary>

    [Serializable]
    
public class FtpClientException : Exception
    
{
        
构造方法
    }

}
FtpReply.cs
    /// <summary>
    
/// FtpReply 的摘要说明。
    
/// </summary>

    [Serializable]
    
public class FtpReply
    
{
        
private int _code;
        
private string _message;

        
public FtpReply() : this(0, string.Empty)
        
{
        }


        
public FtpReply(int code, string message)
        
{
            
this._code = code;
            
this._message = message;
        }


        
public int Code
        
{
            
get
            
{
                
return this._code;
            }

            
set
            
{
                
this._code = value;
            }

        }


        
public string Message
        
{
            
get
            
{
                
return this._message;
            }

            
set
            
{
                
this._message = value;
            }

        }

    }

FtpTransferType.cs
    /// <summary>
    
/// 传输模式。
    
/// </summary>

    public enum FtpTransferType
    
{
        
/// <summary>
        
/// 二进制模式。
        
/// </summary>

        Binary,
        
/// <summary>
        
/// ASCII 模式。
        
/// </summary>

        ASCII
    }
;
SharpDownload(FTP及WEB下载).zip_C# 下载_FTP CSharp_web服务器_文件下载_进度下载 使用C#语言实现通过FTP服务器下载文件,有下载文件进度显示! 立即下载

相关推荐

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算

一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么?

qq_47480932的博客 3320

通过FTP进行文件的上传和下载

目录一、FTP服务器展示文件列表:第一步:创建FTPClient第二步:连接FTP服务器并验证用户名密码第三步:切换到目标文件夹第四步:切换成功后,显示所有该目录下的所有文件第五步:最后关闭FTPClient对象 (要处理异常)整理所有代码:二、FTP服务器进行文件上传:第一步:创建FTPClient第二步:连接FTP服务器并验证用户名密码第三步:切换到目标文件夹,若没有:进行创建第四步:切换成功后,进行文件上传4.1、 设置上传文件类型4.2、设置上传文件保存至FTP服务器 第五步:最后关闭FTPClie

m0_61639114的博客 1万+

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2777

FTPClient文件上传下载

上传和下载使用不同权限的用户; 1、上传下载工具类 package com.suyun.utils; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spri.

熊浪的博客 2743

别再说Fortran过时了!手把手教你用VS Code + gfortran搭建现代开发环境(2024版)

本文打破Fortran过时的刻板印象,详细介绍如何利用VS Code和gfortran搭建现代开发环境。从编译器安装、VS Code插件配置到项目结构标准化,提供完整的2024版跨平台解决方案,并展示Fortran 2023标准的协程、并行计算等现代特性,助力科学计算与高性能开发。

weixin_42629815的博客 242

科研作图不发愁:手把手教你用PyMOL给蛋白-DNA互作图‘美颜’(附完整配色与标注方案)

本文详细介绍了如何使用PyMOL对蛋白-DNA互作结构图进行专业美化,包括从PDB文件加载、结构展示与标注、互作位点突出显示到高质量渲染输出的完整流程。通过具体案例(PDB ID:8SSS)演示了锌指结构域区分、关键残基标注和互作距离测量等实用技巧,帮助科研人员制作可直接用于期刊投稿的高质量示意图。

weixin_42523792的博客 552

基于FTP协议进行文件的上传和下载

无论是上传文件或是下载文件,第一部都需要先建立连接,因此,第一步的实现方法是相同的,不过,由于下载文件时是将读取到的文件存放至本地文件,因此采用的是文件输出流,但在文件上传过程中,是将本地文件读取至程序中并上传,因此需要定义的是文件输入流,以便读取本地文件并上传。它定义了客户端和服务器之间的通信规则,使得用户可以通过网络上传和下载文件,以下分别是文件的下载以及上的过程。① 连接ftp服务器并验证用户名、密码。② 切换目录至上传文件处。1. 文件下载的过程。② 切换至个人目录。

qq_72172339的博客 1503

【Android面试八股文】Handler如果没有消息处理是阻塞的还是非阻塞的?Looper 为什么要使用死循环?Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

Handler如果没有消息处理是阻塞的还是非阻塞的? Looper 为什么要使用死循环? Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

字节卷动 760

几个FTP客户端开源项目

在开发FTP客户端组件的过程中,参考了好几个开源项目,其实它们的工作原理一样的,只是看作者的设计如何,最终的效果主要表现在易用性、稳定性、可扩展性和兼容性上。edtFTPnethttp://www.enterprisedt.com/products/edtftpnet/edtFTPnet 是由 Enterprise Distributed Technologies 公司开发的一个 FTP 客户端组

anderberte 3469

Android 13 wificond讲解

Android 13 wificond讲解

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 2932

通信原理 | python调制识别数据及代码

数据集包含了从-20dB 到+18dB 总共 20 个信噪比(步长为 2)下的 11 种调制信号, 包括 AM-DSB、 AM-SSB 和 WBFM 三种模拟调制信号,以及 BPSK、 QPSK、 8PSK、 CPFSK、 GFSK、 PAM4、 QAM16 和 QAM64 八种数字调制信号。其中信号的中心频率为 200KHz,采样频率为 1Msamp/s,且每个信噪比下每种调制信号包含 1000 个信号。其中每个信号包含 IQ 两路数据,且每一路数据都包含有 128 个采样点。

若北辰 1758

FTP服务器上传下载文件

FTP协议(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议。FTP协议使用客户端-服务器模型,即客户端通过FTP协议访问服务器上的文件,进行文件上传和下载等操作。

m0_64978052的博客 727

SAM3 LoRA Fine-Tuning|SAM3微调(完全对齐官方训练和配置)

本文介绍了基于官方SAM3模型使用LoRA技术进行图像目标检测与分割微调的项目。项目完全对齐官方训练配置,支持多类别高效微调,且不影响原模型的开放词汇提示能力。微调后模型在航拍图像中对道路、车辆等目标的分割效果显著提升,误检率降低。 项目提供完整的训练和推理流程: 支持双卡并行训练,显存需求大(完整微调需30G+显存) 提供训练脚本和配置文件,可灵活调整参数 包含推理可视化工具,支持与原模型效果对比,内置训练结果分析工具,可生成指标对比图 数据集采用COCO格式。

weixin_46248968的博客 359

利用FTPClient类实现文件的上传下载功能

FTPClient ftp=new FTPClient(); 一、新建一个FTP服务器。设置IP/端口,并且设置一个根文件夹exam (根据需要自己设置) 二、连接FTP服务器    ftp.RemoteHost=this.txtIP.Text.Trim(); //FTP服务器的IP或名称    ftp.RemotePort=Convert.ToInt32(this.txtPort.Tex

东亮博客 4789

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[转]利用FtpClient类实现文件的上传下载功能

该代码源自互联网,并经过修改: 解决了中文文件名会出现乱码的情况; 改善了上传不稳定的问题(但没有从根本上解决,目前只知道在接收Socket时有时会收到一半就退出,结果造成接收数据不完整,经常出现在Dir时。尚未仔细研究。) FtpClient.cs /**////<summary>///FtpClient的摘要说明。///<...

154

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

AI编程智能体的时间盲区:如何补上时间感知能力

在 AI Agent 与人工智能编程工具日益普及的今天,时间感知能力成为决定智能体可靠性的底层因素。Claude Code、Codex 等编程智能体虽擅长写代码,却可能将旧日志当作最新记录,或在证书过期判断上出现偏差。这源于大模型缺乏对“当前时间”的稳定获取机制,而非单纯的代码能力问题。本文围绕 AI 智能体的上下文与工具调用原理,说明时间盲区的成因,并给出项目约定、会话时间注入、Hook 刷新和系统命令检查等工程方案。这些实践适用于日志分析、依赖更新、定时任务、增量构建等真实场景,能有效提升 AI 编程工

weixin_34025151的博客 314

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

在FtpClient中用ftp FTP命令建自己要用的东东。。

由于sun没有公开FtpClient的API所以我们將就使用Sun的未公开类别暫時應急一下,方法命名大多與Common net ftpClient 雷同,不足的只好用issueCommand自己丟FTP命令: import java.io.FileNotFoundException;import java.io.IOException;import java.net.Proxy;

Border's log 2683

JavaBean实现多个文件上传的两种方法

摘要:本文介绍了JavaBean实现多个文件上传的两种方法,分别是使用http协议和ftp协议实现。首先讲述了http协议传送多个文件的基本格式和实现上传的详细过程,之后简单介绍了使用ftpclient 类实现了ftp方式的上传,最后对这两种方法进行了比较。  关键字:JavaBean 、http 、ftp 、ftpclient  JavaBean是一种基于Java的软件组件。JSP对于在

给自己一点空间---活着.. 782

两招利用JavaBean实现多文件上传

JavaBean是一种基于Java的软件组件。JSP对于在Web 应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。   文件的上传功能在基于B/S的开发模式中非常普遍。同其他开发工具相比较,JSP对文件的上传支持并不是很完美,它既不象ASP那样一定需要使用组件来 完成,也不像

lijihuai1978的专栏 994

JDK1.7 连接FtpClient,上传下载

JDK1.7 连接FtpClient,上传下载

xiao.yu的博客 5188

FTP文件操作

JAVA使用FTP远程管理文件 用到的JAR包 点击下载commons-net-3.6.jar 核心类 FTPClient package com.shuaihui.txtread.tools; /** * 作 者: 糖葫芦太甜 * 时 间: 2019年4月25日下午6:16:09 * 文件名: Test1.java **/ import java.io.BufferedInputSt...

Shuaihui7758的博客 343

springmvc使用ftp上传文件

@RequestMapping(value = "uploadImg.do", method = RequestMethod.POST) @ResponseBody public Map<String, Object> fileUpload(@RequestParam(value = "files") MultipartFile file[], HttpServletRe...

qq_36617310的博客 468

java 实现FTP上传下载功能,并解决Could not parse response code.Server Reply: SSH-2.0-OpenSSH_5.3问题

现有需求将文件从FTP服务器上进行上传下载,看网上使用了org.apache.commons.net.ftp.FTPClient类,但通过该类连接FTP会报一个Could not parse response code.Server Reply: SSH-2.0-OpenSSH_5.3这样的错误,原因是它不支持这种方式的连接(使用FTPSClient的SSL也是不行的),所以现在换新的工具,使用ChannelSftp来实现该功能。 上代码:根据实际情况略作修改 pom文件: <dependen

全场梦游c的博客 4203
上一篇: Remoting基本原理及其扩展机制(ZZ)
下一篇: 安装 ASP 远程调试
libraworm
博客等级 码龄24年 3粉丝 24原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值