Как в проекте asp.net core создать папку, если она не существует, в директории на уровень выше директории самого проекта?

Как в проекте asp.net core создать папку, если она не существует, в директории на уровень выше директории самого проекта?

Я делал вот так, но это создает в директории внутри проекта

string rootPath = AppDomain.CurrentDomain.BaseDirectory;
            string safePath;
            if (Directory.Exists(rootPath + "\\UploadedFiles"))
            {
               safePath = rootPath + "\\UploadedFiles";
            }
            else
            {
                Directory.CreateDirectory(rootPath + "\\UploadedFiles");
                safePath = rootPath + "\\UploadedFiles";
            }

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


Ответы (1 шт):

Автор решения: VADIM

Есть класс DirectoryInfo, в котором есть свойство Parent - оно указывает на родительский каталог, то есть на каталог, который находится выше вашего "safePath"

На экземпляре Parent можно вызвать метод CreateSubDirectory, если есть право на запись - в newFolder.FullName сможете увидеть полный путь к новой созданной папке:

DirectoryInfo di = new DirectoryInfo(safePath);
DirectoryInfo newFolder = di.Parent.CreateSubdirectory("Имя Новой Папки");

Получить текущую директорию можно через Environment.CurrentDirectory

→ Ссылка