Как в проекте 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 шт):
Есть класс DirectoryInfo, в котором есть свойство Parent - оно указывает на родительский каталог, то есть на каталог, который находится выше вашего "safePath"
На экземпляре Parent можно вызвать метод CreateSubDirectory, если есть право на запись - в newFolder.FullName сможете увидеть полный путь к новой созданной папке:
DirectoryInfo di = new DirectoryInfo(safePath);
DirectoryInfo newFolder = di.Parent.CreateSubdirectory("Имя Новой Папки");
Получить текущую директорию можно через Environment.CurrentDirectory