`
ming_fanglin
  • 浏览: 223442 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

XML 
阅读更多
声明:FTPClient ftp=new FTPClient();

一、新建一个FTP服务器。设置IP/端口,并且设置一个根文件夹exam (根据需要自己设置)

二、连接FTP服务器

    ftp.RemoteHost=this.txtIP.Text.Trim(); //FTP服务器的IP或名称
    ftp.RemotePort=Convert.ToInt32(this.txtPort.Text.Trim()); //端口,默认为21
    ftp.RemotePath="exam";
    if(this.checkBox1.Checked==true)
    {
     ftp.RemoteUser="anonymous";//匿名登陆
     ftp.RemotePass="syringa_12@126.com";//设置一个邮箱即可
    }
    else
    {
     ftp.RemoteUser=this.txtUser.Text.Trim();
     ftp.RemotePass=this.txtPass.Text.Trim();
    }
    Application.DoEvents();
    try
    {
     ftp.Connect(); //连接
    }
    catch(Exception ex)
    {
     MessageBox.Show("与服务器连接失败"+ex.ToString());
    }
    if(ftp.Connected)
    {
     this.lblState.Text="[服务器已连接]";    //连接成功
    }

三、上传文件

   /// <summary>
   /// 上传文件到FTP服务器的方法
   /// </summary>
   /// <param name="str">查询语句</param>
   /// <param name="filename">上传的文件名*.xml</param>
   private void UpLoadFile(string str,string filename)
   {
    DataSet ds=new DataSet();
    DB db=new DB();
    db.Exec4DS(str,"0",out ds);
    ds.WriteXml(Application.StartupPath+"\\UpLoad\\"+filename,XmlWriteMode.WriteSchema);//转化为xml文件
    //上传到Center文件夹
    if(ftp.Connected)
    {
     try
     {
      ftp.ChDir("Center");//兄弟比较笨,不知道怎么判断服务器上文件夹是否存在,所以只好用异常来判断。哪位仁兄有判断的好方法告诉兄弟一声,不胜感觉^_^
     }
     catch
     {
      ftp.MkDir("Center");//在服务器上创建一个文件夹
      ftp.ChDir("Center");//指定为当前目录
     }
     ftp.Put(Application.StartupPath+"\\UpLoad",filename); //本地文件filename上传到FTP服务器的Center文件夹中
     ftp.ChDir("..");//指定上一级目录
    }
   }
四、下载文件
   /// <summary>
   /// 下载所有xml文件到本地DownLoad文件夹
   /// </summary>
   /// <param name="ftpDirectory">FTP服务器上的文件夹</param>
   /// <param name="LocalDirectory">本地文件夹</param>
   private void DownLoadFile(string ftpDirectory,string LocalDirectory)
   {
    //下载文件到本地文件夹
    string[] files;
    if(ftp.Connected)
    {
     this.lblState.Visible=true;
     Application.DoEvents();
     try
     {
      try
      {
       ftp.ChDir(ftpDirectory);
      }
      catch
      {
       ftp.MkDir(ftpDirectory);
       ftp.ChDir(ftpDirectory);
      }
      files=ftp.Dir("*.xml");//遍历FTP服务器ftpDirectory文件夹中的所以xml文件
      if(!Directory.Exists(Application.StartupPath+"\\DownLoad\\"+LocalDirectory))//判断本地是否存在LocalDirectory文件夹
       Directory.CreateDirectory(Application.StartupPath+"\\DownLoad\\"+LocalDirectory);//创建文件夹
      for(int i=0;i<files.Length-1;i++)
      {
       ftp.Get(files[i],Application.StartupPath+"\\DownLoad\\"+LocalDirectory,files[i]);//下载文件到本地文件夹
      }
      ftp.ChDir("..");
     }
     catch(Exception ex)
     {
      MessageBox.Show("下载失败"+ex.ToString());
     }
    }
   }
分享到:
评论
1 楼 gya_xiner 2013-07-16  
FTPClient不用判断文件夹是否存在,直接使用chdir()。当文件夹存在时上传文件,文件夹不存在时,创建文件夹并上传文件。

相关推荐

    java利用FTPClient实现上传下载文件.doc

    Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载文件是 Java 程序中经常需要和 FTP 打交道的重要内容。FTPClient 是 Jakarta Commons 中的一个工具类,位于 Commons Net 包中。...

    使用FTPClient实现文件的上传下载

    这篇博客“使用FTPClient实现文件的上传下载”显然关注的是如何利用编程接口FTPClient来执行FTP操作,如上传和下载文件。FTPClient是Apache Commons Net库的一部分,它为Java开发者提供了方便的API来实现FTP功能。 ...

    使用FTPClient实现ftp文件上传

    FTPClient类提供了丰富的功能,包括连接、登录、文件传输、目录操作等。 首先,要使用FTPClient,你需要在项目中引入Apache Commons Net库。通常,你可以通过Maven或Gradle将其添加为依赖项。例如,在Maven的pom....

    java FTPClient 文件上传下载文件

    ### Java FTPClient 文件上传下载知识点详解 #### 一、引言 在现代软件开发中,文件传输是一项基本而重要的功能。对于Java开发者来说,利用Java的FTPClient进行文件的上传和下载是常见的需求之一。本篇文章将围绕...

    C#+WinForm+FluentFTP实现文件上传下载功能实例

    通过WinForm调用FluentFTP库,实现FTP客户端,具体可参考本人博客【C# 利用FluentFTP实现FTP上传下载功能】 开发工具:VisualStudio2022 开发语言:C# 开发框架:.Net Framework4.8及以上

    FtpClient FTP 操作类

    总结来说,`FtpClient` FTP操作类是C#中实现FTP功能的重要工具,它通过提供一系列的API方法,使得开发者能够方便地进行文件的上传、下载以及一系列的FTP服务器操作。使用时,结合具体的库文档,可以更好地利用其特性...

    ftpclient

    4. **文件上传与下载**:这是FTP的主要用途,FTPClient提供了上传本地文件到服务器,以及从服务器下载文件到本地的功能。 5. **数据传输模式**:FTP有两种数据传输模式,主动(PORT)模式和被动(PASV)模式。...

    commons-ftp中ftpClient类的API

    通过它,用户可以方便地与FTP服务器进行交互,执行诸如上传、下载等文件操作。`FTPClient`类不仅封装了所有必要的功能来存储和检索文件,还管理着与FTP服务器交互的所有底层细节,并提供了一个高级的接口。 #### 二...

    利用ftp协议进行文件的上传下载

    在本文中,我们将深入探讨如何利用Apache的FTPClient库在Java环境中实现FTP文件的上传与下载功能,并简要介绍如何设置FTP服务器进行测试。 1. FTP协议基础: FTP基于TCP/IP协议族,提供了双向通信,允许客户端和...

    JAVA中使用FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。  一、上传文件  原理不介绍了,大家直接...

    FTPClient (c#源码,ftp文件下载,上传等)

    FTPClient是基于C#编程语言实现的一个FTP(File Transfer Protocol)客户端库,它允许开发者通过编程方式执行FTP文件上传、下载以及其他与FTP服务器交互的操作。在这个项目中,`FtpClientCS`很可能是包含了实现这些...

    QT实现FTPServer和FTPClient.zip

    在标题中提到的"QT实现FTPServer和FTPClient.zip"项目中,已经实现了FTP客户端的基本功能,即从FTP服务器下载文件。这通常是通过以下步骤完成的: 1. **初始化QFtp对象**:首先,我们需要创建一个QFtp对象,并将其...

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

    ### JavaBean实现多个文件上传的两种方法:深入解析 #### 一、JavaBean与文件上传概念 JavaBean作为Java平台上的重要...开发人员应根据项目特点和业务需求,合理选择上传方法,兼顾功能实现、性能优化和安全保障。

    利用PSFTP工具实现文件上传详解.zip

    "利用PSFTP工具实现文件上传详解.zip"这个资源提供了一种通过PSFTP工具进行文件上传的方法,同时也包含了一个使用Java编程语言实现文件上传下载的示例。下面我们将深入探讨这两个主题。 首先,PSFTP(PuTTY Secure ...

    JAVA 操作FTP的工具类,上传,下载,删除功能都有了。

    在Java中,我们可以使用`FTPClient`类来实现文件的上传。我们需要创建一个`FTPClient`实例,然后连接到FTP服务器,通过`login()`方法登录。接着,设置数据类型为二进制(`setFileType(FTP.BINARY_FILE_TYPE)`),...

    System.Net.FtpClient

    - `FtpClient.cs`:实现了IFtpClient接口,是库的主要类,包含了FTP会话管理、登录验证、文件上传下载、目录操作等方法。 - `IFtpClient.cs`:定义了FtpClient的接口,使得其他类可以模拟FtpClient的行为,便于测试...

    用Java实现FTP批量大文件上传下载

    总的来说,Java实现FTP批量大文件上传下载的关键在于选择合适的FTP客户端库,利用其提供的高级功能,结合Applet开发,实现Web环境下的安全、高效文件传输。同时,需要注意的是,随着技术的发展,如JavaFX的出现,...

    Java实现FTP上传与下载

    在Java编程中,FTP(File Transfer Protocol)是一个用于在计算机之间传输文件的标准协议。这篇博客“Java实现FTP...在实际开发中,确保正确处理各种异常情况,并关注性能优化,如文件上传下载的速度和网络资源的使用。

    关于文件上传与下载的实现方法总结

    ### 关于文件上传与下载的实现方法总结 在软件开发特别是Web应用开发中,...通过以上介绍可以看出,Java提供了多种方式来实现文件的上传与下载功能,开发者可以根据具体的应用场景和技术栈来选择最合适的技术方案。

    上传下载功能实现.pdf

    总的来说,实现上传下载功能涉及到多个技术层面,包括前端表单的处理、后端文件存储策略的选择、权限控制以及可能的FTP交互。在实际开发中,需要根据项目需求和资源限制来选择最适合的实现方式。

Global site tag (gtag.js) - Google Analytics