如何使用 C# 在 FTP 服务器上创建目录

更新时间:2023-03-21 12:41:01

问题阐述

使用 C# 在 FTP 服务器上创建目录的简单方法是什么?

我想出了如何将文件上传到已经存在的文件夹,如下所示:

using (WebClient webClient = new WebClient())
{
    string filePath = "d:/users/abrien/file.txt";
    webClient.UploadFile("ftp://10.128.101.78/users/file.txt", filePath);
}

但是,如果我想上传到 users/abrien,我会收到一个 WebException 说文件不可用.我认为这是因为我需要在上传文件之前创建新文件夹,但 WebClient 似乎没有任何方法可以实现.

精准答案

使用FtpWebRequest,方法为WebRequestMethods.Ftp.MakeDirectory.

例如:

using System;
using System.Net;

class Test
{
    static void Main()
    {
        WebRequest request = WebRequest.Create("ftp://host.com/directory");
        request.Method = WebRequestMethods.Ftp.MakeDirectory;
        request.Credentials = new NetworkCredential("user", "pass");
        using (var resp = (FtpWebResponse) request.GetResponse())
        {
            Console.WriteLine(resp.StatusCode);
        }
    }
}