【问题标题】:Folder & Files Upload through ftp C#通过 ftp C# 上传文件夹和文件
【发布时间】:2013-09-26 00:13:03
【问题描述】:

我正在尝试学习有关通过 ftp 连接上传到另一台主机的新知识。 我知道如何上传单个文件。但是如果我想上传完整的文件夹及其完整的子文件夹和文件呢?

这是我的单个文件上传

    private void Form1_Load(object sender, EventArgs e)
    {

        Upload("Test.txt");
    }

    public void Upload(string fileToUpload)
    {
       try
        {
            FileInfo toUpload = new FileInfo(fileToUpload);

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/" + toUpload.Name);
            MessageBox.Show(WebRequestMethods.Ftp.ListDirectory);

            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential("Uploader", "3635451");
            Stream ftpStream = request.GetRequestStream();
            FileStream file = File.OpenRead(fileToUpload);
            int length = 1024;
            byte[] buffer = new byte[length];
            int bytesRead = 0;
            do
            {
                bytesRead = file.Read(buffer, 0, length);
                ftpStream.Write(buffer, 0, bytesRead);
            }
            while (bytesRead != 0);
            file.Close();
            ftpStream.Close();
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

我在谷歌上搜索了很多关于上传文件夹的信息,但我刚刚失败了 先感谢您。

【问题讨论】:

    标签: c# upload ftp directory


    【解决方案1】:

    您可以使用WinSCP library。它是免费的,并且支持 FTP 和 SFTP。我发现它易于使用,并且完美无瑕。

    PutFiles 方法将处理整个文件夹,包括子文件夹。它还有一个SynchronizeDirectories 方法。

    【讨论】:

      【解决方案2】:

      答案是你不能。

      您可能对执行此类操作的库感兴趣,如果没有,您可以查看它们的源代码。

      如果你想上传一个文件夹,你必须在你的 FTP 上创建文件夹,然后一个一个地复制每个文件。

      本地文件夹示例:

      /Folder/File1.txt
      /Folder/File2.txt
      

      如果要上传文件夹“文件夹”。

      1. 在 FTP 中创建目录
      2. 打开FTP目录
      3. 复制“File1.txt”
      4. 复制“File2.txt”

      【讨论】:

        猜你喜欢
        • 2012-02-22
        • 2012-10-27
        • 2017-03-23
        • 2012-04-26
        • 2013-03-24
        • 1970-01-01
        • 2011-05-07
        • 1970-01-01
        相关资源
        最近更新 更多