//上传文件
public static Boolean FtpUpload(string ftpPath,string localFile)
{
//检查目录是否存在,不存在创建
FtpCheckDirectoryExist(ftpPath);
FileInfo fi = new FileInfo(localFile);
FileStream fs = fi.OpenRead();
long length = fs.Length;
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + ftpPath + fi.Name);
req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
req.Method = WebRequestMethods.Ftp.UploadFile;
req.ContentLength = length;
req.Timeout = 10 * 1000;
try
{
Stream stream = req.GetRequestStream();
int BufferLength = 2048; //2K
byte[] b = new byte[BufferLength];
int i;
while ((i = fs.Read(b, 0, BufferLength)) > 0)
{
stream.Write(b, 0, i);
}
stream.Close();
stream.Dispose();
}
catch (Exception e)
{
ErrLog(e.Message + e.StackTrace);
return false;
}
finally
{
fs.Close();
req.Abort();
}
req.Abort();
return true;
}
//判断文件的目录是否存,不存则创建
public static void FtpCheckDirectoryExist(string destFilePath)
{
string fullDir = FtpParseDirectory(destFilePath);
string[] dirs = fullDir.Split('/');
string curDir = "/";
for (int i = 0; i < dirs.Length; i++)
{
string dir = dirs[i];
//如果是以/开始的路径,第一个为空
if (dir != null && dir.Length > 0)
{
try
{
curDir += dir + "/";
FtpMakeDir(curDir);
}
catch (Exception)
{}
}
}
}
public static string FtpParseDirectory(string destFilePath)
{
return destFilePath.Substring(0, destFilePath.LastIndexOf("/"));
}
//创建目录
public static Boolean FtpMakeDir(string localFile)
{
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + localFile);
req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
req.Method = WebRequestMethods.Ftp.MakeDirectory;
try
{
FtpWebResponse response = (FtpWebResponse)req.GetResponse();
response.Close();
}
catch (Exception)
{
req.Abort();
return false;
}
req.Abort();
return true;
}
分享到:
相关推荐
本篇将详细介绍如何使用C#进行FTP操作,包括上传文件、下载文件、在服务器上创建文件夹以及删除服务器上的文件。 首先,进行FTP操作需要使用到System.Net命名空间中的FtpWebRequest和FtpWebResponse类。以下是一些...
C# FTP自动上传资源工具是一种基于C#编程语言和Visual Studio 2005开发的软件,用于自动化处理FTP(File Transfer Protocol)文件传输任务。这个工具的核心功能是帮助用户方便快捷地将本地资源上传到FTP服务器,节省...
C#版FTP自动上传工具源码是一个基于C#编程语言的实用程序,旨在帮助用户自动将指定目录中的文件上传到FTP(File Transfer Protocol)服务器。这个工具是使用Visual Studio 2010开发的,并且它依赖于.NET Framework ...
通过以上步骤,我们可以构建一个C# FTP自动更新系统,它能够在Winform应用中自动检测服务器上的更新并下载新文件,从而确保软件始终保持最新状态。这样的系统对于提供持续服务和保持软件安全至关重要。
本篇文章将详细阐述如何使用C#实现FTP服务器上的文件上传、下载和创建目录,并编译为DLL文件以供其他程序引用。 首先,FTP文件上传涉及到的主要步骤包括连接到FTP服务器、创建FtpWebRequest对象、设置请求方法、...
在C#中,可以通过`CreateDirectory`方法创建目录,`DeleteDirectory`方法删除目录,`ListDirectoryDetails`方法获取目录内容。 五、异常处理与连接管理 在进行FTP操作时,务必处理可能出现的网络异常和权限问题。...
这些库提供了处理FTP连接、发送命令、上传文件和创建目录的方法。 在提供的压缩包文件中,"FTP.exe"可能是一个已经封装好了多线程批量上传和建目录功能的FTP客户端程序。用户可以直接运行这个程序,输入相应的FTP...
除了基本的上传和下载,`FluentFTP`还支持目录操作(如列出目录、创建目录、删除目录)、文件操作(如重命名、删除文件)以及FTP会话的自定义设置(如修改工作目录、设置被动模式等)。 8. **示例代码** 以下是一个...
- **用户账户与权限**:创建具有上传权限的FTP用户,分配指定的目录,确保用户只能访问其上传区域而无法访问其他敏感文件。 - **被动模式**:开启FTP的被动模式,以适应可能存在的防火墙和NAT设置,确保文件传输的...
本项目“C#基于FTP服务器的自动更新程序”专注于创建这样一个系统,利用FTP(File Transfer Protocol)服务来管理和分发更新。下面我们将详细探讨涉及的技术和流程。 首先,我们要了解FTP服务器的作用。FTP是一种...
在本文中,我们将深入探讨如何使用C#编程语言实现一个FTP文件同步的示例。FTP(File Transfer Protocol)是一种广泛用于在互联网上进行文件传输的标准协议。C#提供了丰富的类库,如`System.Net.FtpWebRequest`和`...
通过FTP协议,程序可以连接到远程FTP服务器,浏览目录,下载文件,甚至上传文件。 2. C# FTP客户端实现:C#提供了System.Net命名空间中的FtpWebRequest和FtpWebResponse类来处理FTP请求。开发者通常会创建一个...
FTP客户端的主要功能包括上传文件、下载文件、列出目录内容、创建和删除目录等。以下是对这些关键知识点的详细说明: 1. **FTP连接**:首先,我们需要建立一个到FTP服务器的连接。这可以通过创建FtpWebRequest对象...
FTP是一种用于在Internet上进行文件传输的标准协议,而C#开发的FTP客户端允许用户通过编程方式与FTP服务器进行交互,实现上传、下载、列出目录、删除文件等操作。 FTP客户端的核心功能包括以下几点: 1. **连接和...
在本文中,我们将深入探讨如何在Windows系统上设置FTP自动上传功能,以及相关工具和源码的使用。 一、FTP自动上传基础 1. FTP服务器配置: 在Windows系统中,我们可以使用IIS(Internet Information Services)...
本文详细介绍了如何使用C#来实现FTP操作,重点讨论了文件上传的过程,并给出了一个简单的文件同步框架。掌握了这些技术之后,你可以轻松地开发出具有文件同步与实时更新功能的应用程序。在未来的工作中,根据具体...
FTP自动下载解压是网络数据传输中常见的应用场景,主要用于定期获取服务器上的文件并进行本地处理。在这个实例中,我们将探讨如何使用.NET框架结合FTP、XML配置文件和INI配置文件来实现这一功能,同时关注自动解压的...
总的来说,"ftp.tar.gz"文件提供了一个C#实现的FTP下载程序,可以帮助开发者学习和理解如何在自己的应用中集成FTP功能,以方便地从FTP服务器上传和下载文件。这不仅有助于提高数据传输效率,也有助于实现自动化的...
通过以上步骤,我们可以构建一个完整的FTP文件传输系统,它不仅能上传和下载文件,还能解析CSV内容,对数据进行分析,并在出现问题时提供反馈和记录。这样的系统在数据处理、报告生成、自动化工作流等场景中非常有用...