zoukankan      html  css  js  c++  java
  • C# -- FTP上传下载

    C# -- FTP上传下载

    1. C#实现FTP下载

    private static void TestFtpDownloadFile(string strFtpPath, string strFileName, string strFtpUser, string strFtpPassWord, string strSaveFileName)
    {
        FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(strFtpPath + strFileName);
        ftpWebRequest.Credentials = new System.Net.NetworkCredential(strFtpUser, strFtpPassWord);
        ftpWebRequest.UseBinary = true;
        ftpWebRequest.UsePassive = true;
        ftpWebRequest.KeepAlive = true;
    
        ftpWebRequest.Method = WebRequestMethods.Ftp.DownloadFile;
    
        FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();
        Stream ftpStream = ftpWebResponse.GetResponseStream();
    
        FileStream localFileStream = new FileStream(strSaveFileName, FileMode.Create);
    
        int bufferSize = 1 * 1024 * 1024;
    
        byte[] byteBuffer = new byte[bufferSize];
        int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
        try
        {
            while (bytesRead > 0)
            {
                localFileStream.Write(byteBuffer, 0, bytesRead);
                bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
            }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
    
        localFileStream.Close();
        ftpStream.Close();
        ftpWebResponse.Close();
        ftpWebRequest = null;
    
        Console.WriteLine("下载完成 ");
    }

    2. C#实现FTP上传

    private static void TestFtpUploadFile(string strFtpPath, string strFileName, string strFtpUser, string strFtpPassWord, string strUploadFileName)
    {
        FileInfo uploadFileInfo = new FileInfo(strUploadFileName);
        FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(strFtpPath + strFileName);
    
        ftpWebRequest.UseBinary = true;
        ftpWebRequest.Credentials = new NetworkCredential(strFtpUser, strFtpPassWord);
        ftpWebRequest.KeepAlive = false;
        ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
        ftpWebRequest.ContentLength = uploadFileInfo.Length;
    
        Stream ftpStream = ftpWebRequest.GetRequestStream();
    
        FileStream uploadFileReadStream = uploadFileInfo.OpenRead();
    
        int bufferSize = 1 * 1024 * 1024;
    
        byte[] byteBuffer = new byte[bufferSize];
        int bytesRead = uploadFileReadStream.Read(byteBuffer, 0, bufferSize);
        try
        {
            while (bytesRead > 0)
            {
                ftpStream.Write(byteBuffer, 0, bytesRead);
                bytesRead = uploadFileReadStream.Read(byteBuffer, 0, bufferSize);
            }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
    
        ftpStream.Close();
        uploadFileReadStream.Close();
        ftpWebRequest = null;
    
        Console.WriteLine("上传完成 ");
    }
  • 相关阅读:
    nlog学习使用
    浏览器缓存信息的清理
    安装Debugging Tools时出现错误Setup could not find the file WinSDK_amd64的处理
    双网卡下添加静态路由方法
    DELL T430进RAID的方式:, 硬盘损坏后的处理方式
    虚拟机: 虚拟机win7的激活方式(底层操作系统 为 win10) ===用windows loader
    联想 M415 I3-6100 CPU安装系统方法
    AOC 电视机T3212M 进入 工厂模式方法,修改开机启动方式
    使用WinNTSetup安装win10时提示efi part有红叉(win10安装UEFI系统安装)
    联想服务器thinkserver TS550 Raid5制作及winserver2012R2 安装过来
  • 原文地址:https://www.cnblogs.com/ChengWenHao/p/CSharpFtpDownloadAndUpload.html
Copyright © 2011-2022 走看看