您的位置:首页 > 编程语言 > C#

【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作

2016-05-09 21:49 706 查看

 关于本文档的说明

  本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行

  欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利。

  本人自从几年前走上编程之路,一直致力于收集和总结出好用的框架和通用类库,不管是微软自己的还是第三方的只要实际项目中好用且可以解决实际问题那都会收集好,编写好文章和别人一起分享,这样自己学到了,别人也能学到知识,当今社会很需要知识的搬运工。

Email:707055073@qq.com

  本文章地址:/article/11913858.html

1.基本介绍

由于最近的项目是客户端的程序,需要将客户端的图片文件【切图】-【打包】-【ftp上传】,现在就差最后一步了,慢慢的把这些小功能实现了,合并到一起就是一个大功能了,所以一个业务需要拆分的很小很小才可以看清楚,这个项目实际需要用到哪些知识点,下面介绍一下ftp上传的命令

  ftp命令的参考链接:http://jingyan.baidu.com/article/b2c186c8ee1116c46ef6ffc8.html,这是我参考的百度,不全的地方还请大家留言告诉我一下。

ftp适合小文件上传

对带宽要求要求较高

服务器安全性也要考虑到

命令需要熟悉,不然比较难

2.实际项目

文件上传

文件下载

删除文件

创建文件夹

文件夹重命名

删除文件夹

改变目录

获取文件夹中文件列表

等等

2.1 图片上传和下载

#region 程序集 System.dll, v4.0.0.0
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll
#endregion

using System;

namespace System.Net
{
// 摘要:
//     System.Net.WebRequestMethods.Ftp、System.Net.WebRequestMethods.File 和 System.Net.WebRequestMethods.Http
//     类的容器类。无法继承此类
public static class WebRequestMethods
{

// 摘要:
//     表示可用于 FILE 请求的文件协议方法的类型。无法继承此类。
public static class File
{
// 摘要:
//     表示用来从指定的位置检索文件的 FILE GET 协议方法。
public const string DownloadFile = "GET";
//
// 摘要:
//     表示用来将文件复制到指定位置的 FILE PUT 协议方法。
public const string UploadFile = "PUT";
}

// 摘要:
//     表示可与 FTP 请求一起使用的 FTP 协议方法的类型。无法继承此类。
public static class Ftp
{
// 摘要:
//     表示要用于将文件追加到 FTP 服务器上的现有文件的 FTP APPE 协议方法。
public const string AppendFile = "APPE";
//
// 摘要:
//     表示要用于删除 FTP 服务器上的文件的 FTP DELE 协议方法。
public const string DeleteFile = "DELE";
//
// 摘要:
//     表示要用于从 FTP 服务器下载文件的 FTP RETR 协议方法。
public const string DownloadFile = "RETR";
//
// 摘要:
//     表示要用于从 FTP 服务器上的文件检索日期时间戳的 FTP MDTM 协议方法。
public const string GetDateTimestamp = "MDTM";
//
// 摘要:
//     表示要用于检索 FTP 服务器上的文件大小的 FTP SIZE 协议方法。
public const string GetFileSize = "SIZE";
//
// 摘要:
//     表示获取 FTP 服务器上的文件的简短列表的 FTP NLIST 协议方法。
public const string ListDirectory = "NLST";
//
// 摘要:
//     表示获取 FTP 服务器上的文件的详细列表的 FTP LIST 协议方法。
public const string ListDirectoryDetails = "LIST";
//
// 摘要:
//     表示在 FTP 服务器上创建目录的 FTP MKD 协议方法。
public const string MakeDirectory = "MKD";
//
// 摘要:
//     表示打印当前工作目录的名称的 FTP PWD 协议方法。
public const string PrintWorkingDirectory = "PWD";
//
// 摘要:
//     表示移除目录的 FTP RMD 协议方法。
public const string RemoveDirectory = "RMD";
//
// 摘要:
//     表示重命名目录的 FTP RENAME 协议方法。
public const string Rename = "RENAME";
//
// 摘要:
//     表示将文件上载到 FTP 服务器的 FTP STOR 协议方法。
public const string UploadFile = "STOR";
//
// 摘要:
//     表示将具有唯一名称的文件上载到 FTP 服务器的 FTP STOU 协议方法。
public const string UploadFileWithUniqueName = "STOU";
}

// 摘要:
//     表示可与 HTTP 请求一起使用的 HTTP 协议方法的类型。
public static class Http
{
// 摘要:
//     表示与代理一起使用的 HTTP CONNECT 协议方法,该代理可以动态切换到隧道,如 SSL 隧道的情况。
public const string Connect = "CONNECT";
//
// 摘要:
//     表示一个 HTTP GET 协议方法。
public const string Get = "GET";
//
// 摘要:
//     表示一个 HTTP HEAD 协议方法。除了服务器在响应中只返回消息头不返回消息体以外,HEAD 方法和 GET 是一样的。
public const string Head = "HEAD";
//
// 摘要:
//     表示一个 HTTP MKCOL 请求,该请求在请求 URI(统一资源标识符)指定的位置新建集合,如页的集合。
public const string MkCol = "MKCOL";
//
// 摘要:
//     表示一个 HTTP POST 协议方法,该方法用于将新实体作为补充发送到某个 URI。
public const string Post = "POST";
//
// 摘要:
//     表示一个 HTTP PUT 协议方法,该方法用于替换 URI 标识的实体。
public const string Put = "PUT";
}
}
}


WebRequestMethods

慢慢积累,你的这些代码都是你的财富,可以帮你提高工作效率,勤勤恳恳的干好每件事情,点滴积累,开心编程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: