9

Если папка не существует, создайте её

10

У меня есть контрол FileUploader в моем приложении. Я хочу сохранить файл в указанной папке. Если эта папка не существует, я хочу сначала создать её, а затем сохранить файл в эту папку. Если папка уже существует, то просто сохранить файл в неё.

Как я могу это сделать?

5 ответ(ов)

0

Вы можете создать путь, если он еще не существует, с помощью следующего метода:

using System.IO;

private void CreateIfMissing(string path)
{
    bool folderExists = Directory.Exists(Server.MapPath(path));
    if (!folderExists)
        Directory.CreateDirectory(Server.MapPath(path));
}

Этот метод проверяет наличие директории по указанному пути с помощью Directory.Exists(). Если директория не существует, то она создается с использованием Directory.CreateDirectory(). Не забудьте использовать Server.MapPath(), чтобы преобразовать виртуальный путь в физический.

0

Этот метод создаст папку, если она не существует, и не будет ничего делать, если она уже есть:

Directory.CreateDirectory(path);
0

Вы можете использовать блок try/catch, чтобы проверить, существует ли директория:

try
{
    if (!Directory.Exists(path))
    {
        // Попробуйте создать директорию.
        DirectoryInfo di = Directory.CreateDirectory(path);
    }
}
catch (IOException ioex)
{
    Console.WriteLine(ioex.Message);
}

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

0

Ваш код проверяет, существует ли директория, в которой должен находиться файл, и если её нет, то создаёт её. Вот перевод вашего кода на русский, который даст понять его суть:

// Проверяем, существует ли директория, где должен находиться файл
if (!Directory.Exists(Path.GetDirectoryName(fileName)))
{
    // Если директория не существует, создаём её
    Directory.CreateDirectory(Path.GetDirectoryName(fileName));
}

Таким образом, сначала идёт проверка на существование директории с помощью Directory.Exists(), а если она отсутствует (!), вызывается метод CreateDirectory(), который создаёт недостающую директорию. Убедитесь, что переменная fileName содержит корректный путь к файлу, чтобы получить правильное имя директории.

0

Создание новой папки, исходя из пути к родительской папке:

string pathToNewFolder = System.IO.Path.Combine(parentFolderPath, "NewSubFolder");
DirectoryInfo directory = Directory.CreateDirectory(pathToNewFolder); 
// Если папка не существует, она будет создана (в противном случае действие будет проигнорировано)
  • Указывается путь к новой папке.
  • Переменная с информацией о директории, чтобы вы могли продолжать с ней работать по своему усмотрению.
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь