Удаление папки C # .net Core - PullRequest
0 голосов
/ 19 октября 2018

У меня проблемы с удалением папки со всеми файлами в ней.Я получаю эту ошибку:

Could not find a part of the path

Я пытаюсь получить относительный путь из базы данных, а затем удалить эту папку со всеми файлами в ней.

Воткод:

public IActionResult RemoveCar(string item)
        {
            var car = _context.CarModels.Where(x => x.Id.ToString() == item).FirstOrDefault();
            var pictures = _context.Pictures.Where(x => x.CarModelId.ToString() == item).ToList();
            if(pictures.Count() > 0 && pictures != null)
            {

                string parent = new System.IO.DirectoryInfo(pictures[0].Path).Parent.ToString();
                string lastFolderName = Path.GetFileName(Path.GetDirectoryName(parent+"/"));
                string exactPath = Path.GetFullPath("/images/" + lastFolderName);
                System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(exactPath);
                // Delete this dir and all subdirs.
                try
                {
                    di.Delete(true);
                }
                catch (System.IO.IOException e)
                {
                    Console.WriteLine(e.Message);
                }
                foreach (var pic in pictures)
                {
                    _context.Pictures.Remove(pic);
                }
            } 
            _context.CarModels.Remove(car);          
            return RedirectToAction("RemoveCar");
        }

1 Ответ

0 голосов
/ 19 октября 2018

Я думаю, что первая косая черта в этой строке - проблема,

string exactPath = Path.GetFullPath("/images/" + lastFolderName);

, поскольку это означает «перейти к корню».Оставьте это, если хотите относительный путь.

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