`

C# FTP 自动创建目录/上传文件

    博客分类:
  • c#
c# 
阅读更多
        //上传文件
        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操作:上传、下载、在服务器上创建文件夹、删除服务器上的文件

    本篇将详细介绍如何使用C#进行FTP操作,包括上传文件、下载文件、在服务器上创建文件夹以及删除服务器上的文件。 首先,进行FTP操作需要使用到System.Net命名空间中的FtpWebRequest和FtpWebResponse类。以下是一些...

    c# ftp自动上传资源工具

    C# FTP自动上传资源工具是一种基于C#编程语言和Visual Studio 2005开发的软件,用于自动化处理FTP(File Transfer Protocol)文件传输任务。这个工具的核心功能是帮助用户方便快捷地将本地资源上传到FTP服务器,节省...

    c#版FTP自动上传工具源码

    C#版FTP自动上传工具源码是一个基于C#编程语言的实用程序,旨在帮助用户自动将指定目录中的文件上传到FTP(File Transfer Protocol)服务器。这个工具是使用Visual Studio 2010开发的,并且它依赖于.NET Framework ...

    c# ftp 自动更新

    通过以上步骤,我们可以构建一个C# FTP自动更新系统,它能够在Winform应用中自动检测服务器上的更新并下载新文件,从而确保软件始终保持最新状态。这样的系统对于提供持续服务和保持软件安全至关重要。

    C#实现ftp服务器文件上传下载路径创建

    本篇文章将详细阐述如何使用C#实现FTP服务器上的文件上传、下载和创建目录,并编译为DLL文件以供其他程序引用。 首先,FTP文件上传涉及到的主要步骤包括连接到FTP服务器、创建FtpWebRequest对象、设置请求方法、...

    ftp.zip_c# ftp工具_c#中ftp开发_c#开发ftp_ftp上传下载_文件管理

    在C#中,可以通过`CreateDirectory`方法创建目录,`DeleteDirectory`方法删除目录,`ListDirectoryDetails`方法获取目录内容。 五、异常处理与连接管理 在进行FTP操作时,务必处理可能出现的网络异常和权限问题。...

    FTP多线程批量上传 建目录

    这些库提供了处理FTP连接、发送命令、上传文件和创建目录的方法。 在提供的压缩包文件中,"FTP.exe"可能是一个已经封装好了多线程批量上传和建目录功能的FTP客户端程序。用户可以直接运行这个程序,输入相应的FTP...

    C#源码FTP实现数据下载和上传

    除了基本的上传和下载,`FluentFTP`还支持目录操作(如列出目录、创建目录、删除目录)、文件操作(如重命名、删除文件)以及FTP会话的自定义设置(如修改工作目录、设置被动模式等)。 8. **示例代码** 以下是一个...

    ftp 自动上传文件到服务器

    - **用户账户与权限**:创建具有上传权限的FTP用户,分配指定的目录,确保用户只能访问其上传区域而无法访问其他敏感文件。 - **被动模式**:开启FTP的被动模式,以适应可能存在的防火墙和NAT设置,确保文件传输的...

    C#基于FTP服务器的自动更新程序

    本项目“C#基于FTP服务器的自动更新程序”专注于创建这样一个系统,利用FTP(File Transfer Protocol)服务来管理和分发更新。下面我们将详细探讨涉及的技术和流程。 首先,我们要了解FTP服务器的作用。FTP是一种...

    c# 写的一个关于FTP 同步的例子

    在本文中,我们将深入探讨如何使用C#编程语言实现一个FTP文件同步的示例。FTP(File Transfer Protocol)是一种广泛用于在互联网上进行文件传输的标准协议。C#提供了丰富的类库,如`System.Net.FtpWebRequest`和`...

    c#自动定时Ftp下载器源码

    通过FTP协议,程序可以连接到远程FTP服务器,浏览目录,下载文件,甚至上传文件。 2. C# FTP客户端实现:C#提供了System.Net命名空间中的FtpWebRequest和FtpWebResponse类来处理FTP请求。开发者通常会创建一个...

    C# FTP 客户端

    FTP客户端的主要功能包括上传文件、下载文件、列出目录内容、创建和删除目录等。以下是对这些关键知识点的详细说明: 1. **FTP连接**:首先,我们需要建立一个到FTP服务器的连接。这可以通过创建FtpWebRequest对象...

    C# 开发Ftp客户端

    FTP是一种用于在Internet上进行文件传输的标准协议,而C#开发的FTP客户端允许用户通过编程方式与FTP服务器进行交互,实现上传、下载、列出目录、删除文件等操作。 FTP客户端的核心功能包括以下几点: 1. **连接和...

    windows ftp 自动上传

    在本文中,我们将深入探讨如何在Windows系统上设置FTP自动上传功能,以及相关工具和源码的使用。 一、FTP自动上传基础 1. FTP服务器配置: 在Windows系统中,我们可以使用IIS(Internet Information Services)...

    C#调用FTP服务

    本文详细介绍了如何使用C#来实现FTP操作,重点讨论了文件上传的过程,并给出了一个简单的文件同步框架。掌握了这些技术之后,你可以轻松地开发出具有文件同步与实时更新功能的应用程序。在未来的工作中,根据具体...

    FTP自动下载解压实例

    FTP自动下载解压是网络数据传输中常见的应用场景,主要用于定期获取服务器上的文件并进行本地处理。在这个实例中,我们将探讨如何使用.NET框架结合FTP、XML配置文件和INI配置文件来实现这一功能,同时关注自动解压的...

    ftp.tar.gz_C# FTP下载程序_FTP 下载_FTP服务器_ftp_ftp tar

    总的来说,"ftp.tar.gz"文件提供了一个C#实现的FTP下载程序,可以帮助开发者学习和理解如何在自己的应用中集成FTP功能,以方便地从FTP服务器上传和下载文件。这不仅有助于提高数据传输效率,也有助于实现自动化的...

    完整实现ftp上传与下载并解析csv文件

    通过以上步骤,我们可以构建一个完整的FTP文件传输系统,它不仅能上传和下载文件,还能解析CSV内容,对数据进行分析,并在出现问题时提供反馈和记录。这样的系统在数据处理、报告生成、自动化工作流等场景中非常有用...

Global site tag (gtag.js) - Google Analytics