Создать папку на FTP - PullRequest
       3

Создать папку на FTP

0 голосов
/ 04 января 2011

Я использую метод для создания папки на FTP. Я хочу получить исключение, если папка уже существует, как перезаписать существующую папку.

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);
        }
    } }

это "удаленный сервер вернул ошибку (550) файл ненашел "

Ответы [ 4 ]

3 голосов
/ 04 января 2011

Что ж, «я хочу получить исключение, если папка уже существует» и «как сделать так, чтобы она перезаписывала существующую папку» - это два противоположных вопроса.другой день.Просто проверьте, если каталог уже существует в первую очередь.А затем ответьте на основании этого.Нет смысла пытаться создать каталог, который уже существует.

И если вам нужно как-то перезаписать его, то удалите существующий каталог перед созданием нового.Я написал для этого в статье Класс FtpClient и WinForm Control , хотя он просто перезапишет существующее содержимое.

1 голос
/ 09 февраля 2018

Я использую эту функцию в растворе

private void createFolder(string ftpUName, string ftpPWord)
    {
            WebRequest ftpRequest = WebRequest.Create("ftp://mrhotro.ad/new_sc");
            ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;
            ftpRequest.Credentials = new NetworkCredential(ftpUName, ftpPWord);
    }
0 голосов
/ 04 января 2011

Возможно, вы захотите рассмотреть некоторые существующие библиотеки ftp. Я использовал это и имел большой успех с этим. Это клиентская библиотека FTP, которая обеспечивает высокоуровневые функции FTP для запроса FTP в .NET Framework 2.0.

У него есть API для проверки наличия каталога и для создания каталога.

Код @ http://ftpclient.codeplex.com/

Артикул @ http://www.codeproject.com/KB/IP/FtpClient.aspx

0 голосов
/ 04 января 2011

Вы не можете перезаписать существующую папку ... Я даже не уверен, какая это может быть польза.

Короче говоря, вам нужно захватить исключение и решить, что делать. Либо оставьте его на месте (в конце концов, он уже существует ...), либо вам нужно будет удалить существующую папку и попытаться воссоздать ее.

Я не помню, можете ли вы удалить папку, которая в данный момент содержит файлы. Если вы не можете, то вам придется удалить и их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...