zoukankan      html  css  js  c++  java
  • 两个FTP服务器之间传送数据

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Net;
    using System.IO;
    using System.Text;

    public class FtpUpDown
    {
        string ftpServerIPout;
        string ftpServerIPin;
        string ftpUserIDout;
        string ftpUserIDin;
        string ftpPasswordout;
        string ftpPasswordin;
        FtpWebRequest reqFTPout;
        FtpWebRequest reqFTPin;

       public FtpUpDown(string ftpServerIPout, string ftpUserIDout,string ftpPasswordout,string ftpServerIPin, string ftpUserIDin ,string ftpPasswordin)
       {

            this.ftpServerIPout = ftpServerIPout;
            this.ftpServerIPin=ftpServerIPin;
            this.ftpUserIDout = ftpUserIDout;
            this.ftpUserIDin = ftpUserIDin;
            this.ftpPasswordout = ftpPasswordout;
            this.ftpPasswordin = ftpPasswordin;

        }
        private void Connect(string pathout, string pathin)//连接ftp
        {
            // 根据uri创建FtpWebRequest对象
            reqFTPout = (FtpWebRequest)FtpWebRequest.Create(new Uri(pathout));
            // 指定数据传输类型
            reqFTPout.UseBinary = true;
            // ftp用户名和密码
            reqFTPout.Credentials = new NetworkCredential(ftpUserIDout, ftpPasswordout);
            reqFTPout.Method=WebRequestMethods.Ftp.DownloadFile;
            // 根据uri创建FtpWebRequest对象
            reqFTPin = (FtpWebRequest)FtpWebRequest.Create(new Uri(pathin));
            // 指定数据传输类型
            reqFTPin.UseBinary = true;
            // ftp用户名和密码
            reqFTPin.Credentials = new NetworkCredential(ftpUserIDin, ftpPasswordin);
            reqFTPin.Method = WebRequestMethods.Ftp.UploadFile;
        }
       public bool Download(string fileName)/**/////上面的代码实现了从ftp服务器下载文件的功能
       {
           try
           {
                string urlout = "ftp://" + ftpServerIPout + "/" + fileName;
                string urlin = "ftp://" + ftpServerIPin + "/" + fileName;
                Connect(urlout, urlin);//连接
                FtpWebResponse response = (FtpWebResponse)reqFTPout.GetResponse();
                Stream ftpStream = response.GetResponseStream();
                long cl = response.ContentLength;
                int bufferSize = 2048;
                int readCount;
                byte[] buffer = new byte[bufferSize];
                readCount = ftpStream.Read(buffer, 0, bufferSize);
                Stream strm = reqFTPin.GetRequestStream();
                while (readCount != 0)
                {
                    strm.Write(buffer, 0, bufferSize);
                    readCount = ftpStream.Read(buffer, 0, bufferSize);
                }
                ftpStream.Close();
                strm.Close();
                response.Close();
                return true;
           }
           catch
           {
                return false;

           }
        }
         
        }

    后台调用:

    protected void Button1_Click(object sender, EventArgs e)
        {
              FtpUpDown ftpUpDown = new FtpUpDown("192.168.0.26", "tfds", "tfds","192.168.0.34","tfds","tfds");
              ftpUpDown.Download("2.txt");
              Response.Write("success");

        }


  • 相关阅读:
    Entity Framework Code-First(17):Database Initialization Strategy
    Entity Framework Code-First(16):Move Configurations
    Entity Framework Code-First(15):Cascade Delete
    Entity Framework Code-First(14):From Existing DB
    Entity Framework Code-First(13):Configure Many-to-Many
    Entity Framework Code-First(12):Configure One-to-Many
    JAVA-初步认识-第六章-封装思想
    JAVA-初步认识-第六章-封装代码示例
    JAVA-初步认识-第六章-引用数据类型参数传递图解
    JAVA-初步认识-第六章-基本数据类型参数传递图解
  • 原文地址:https://www.cnblogs.com/jcomet/p/1243304.html
Copyright © 2011-2022 走看看