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("上传完成 ");
    }
  • 相关阅读:
    Oracle EBS-SQL (INV-1):库存货位列表.sql
    Oracle EBS-SQL (SYS-24):职责列表
    Oracle EBS-SQL (SYS-23):用户权限查询.sql
    Oracle EBS-SQL (SYS-22):sysadmin_用户职责查询.sql
    Oracle EBS-SQL (SYS-21):sys_用户名与人员对应关系查询.sql
    Oracle EBS-SQL (SYS-20):职责使用菜单2.sql
    Oracle EBS-SQL (SYS-20):OPM接口处理.sql
    Oracle EBS-SQL (SYS-19):sys-用户登陆纪录查询.sql
    Oracle EBS-SQL (SYS-18):检查系统安装的各个表是否打开(PJM%).sql
    Oracle EBS-SQL (SYS-17):查询一张报表在哪个职责下面.sql
  • 原文地址:https://www.cnblogs.com/ChengWenHao/p/CSharpFtpDownloadAndUpload.html
Copyright © 2011-2022 走看看