Member 13846964 Ответов: 1

Как создать имя папки студента взятое из выпадающего списка в ftp


Привет, я написал код, чтобы получить подробную информацию о студентах в conmbobox, из которого мне нужно получить имя студента и сохранить его в виде папки на ftp-сервере.

У меня есть папка Creta as 2018/jul/9..

теперь мне нужно создать с именем студента.
2018/июль/9/sname/files

Что я уже пробовал:

if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + "directory" + "/"))
                {
                    if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + DateTime.Now.ToString("yyyy")))
                        MakeDir(DateTime.Now.ToString("yyyy"));
                    if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM")))
                        MakeDir(DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM"));
                    if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM") + "/" + DateTime.Today.Day.ToString()))
                        MakeDir(DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM") + "/" + DateTime.Today.Day.ToString());
                    if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM") + "/" + DateTime.Today.Day.ToString() + "/" + SNAME))
                        MakeDir(DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MMMM") + "/" + DateTime.Today.Day.ToString() + "/" + SNAME);

1 Ответов

Рейтинг:
1

#realJSOP

Разве это не чище?

public void MyMethod()
{
    DateTime now = DateTime.now;
    string folder = string.Empty;
    bool valid;

    try
    {
        if (!FtpDirectoryExists(@"ftp://" + "192." + "/" + "directory" + "/"))
        {
            folder = @"ftp://192./";
            folder = CheckAndCreate(folder, now.ToString("yyyy"), out valid);
            if (!valid) throw new Exception("Could not create year folder");
            folder = CheckAndCreate(folder, now.ToString("MMMM"), out valid);
            if (!valid) throw new Exception("Could not create month folder");
            folder = CheckAndCreate(folder, now.ToString("dd"), out valid);
            if (!valid) throw new Exception("Could not create day folder");
            folder = CheckAndCreate(folder, SNAME, out valid);
            if (!valid) throw new Exception("Could not create student name folder");
        } 
    }
    catch (Exception ex)
    {
        // do something with the exception
        valid = false;
    }
    if (valid)
    {
        // do something 
    }
    else
    {
        // something else
    }
}

public string CheckAndCreateFTPFolder(string path, string folder, out bool valid)
{
    if (!string.IsNullOrEmpty(path) && !string.IsNullOrEmpty(folder))
    {
        path = string.Format("{0}/{1}", path, folder
    
        if (!FtpDirectoryExists(path))
        {
            MakeDir(folder);
        }
        valid = FtpDirectoryExists(path);
    }
    else
    {
        valid = false;
    }

    return path;
}


Фу-у-у, Ты проверил, чтобы убедиться SNAME разве это не null/empty?


Member 13846964

@john sname is not null in drop down i got the student names(sname) , поэтому из этого мне нужно создать как бы папку с именем студента в ftp.

#realJSOP

Так в чем же проблема?

Member 13846964

я не могу создать папку с именем, выбранным в раскрывающемся списке

#realJSOP

что такое сообщение об ошибке/исключение?