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("上传完成 ");
    }
  • 相关阅读:
    使用 HtmlInputHidden 控件在本页面保持状态和跨页面传值
    asp.net页面回传与js调用服务端事件、PostBack的原理详解
    关于.net委托的一篇妙文
    C# 基础25问
    存储过程分页
    C#中的格式化字符串
    大批量数据的插入之终极性能提升SqlBulkCopy
    统计某个字符串中指定字符串出现的次数
    powerdesigner 15打开pdm文件弹出安装打印机窗口的解决方法
    Convert.ToInt32(),Int.Parse(),Int.TryParse()的区别
  • 原文地址:https://www.cnblogs.com/ChengWenHao/p/CSharpFtpDownloadAndUpload.html
Copyright © 2011-2022 走看看