• 两个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");

        }


  • 相关阅读:
    Python使用pymysql模块插入数据报错
    layui的select标签样式没有加载出来
    Python计算平均数
    Django获取小时内的数据
    mysql5.0忘记登录密码
    数据库介绍
    Linux基础
    测试理论
    计算机基础
    chrome 70 一下载文件就卡死
  • 原文地址:https://www.cnblogs.com/jcomet/p/1243304.html
Copyright © 2020-2023  润新知