Веб-формы ASP.NET: как просмотреть файлы в папке проекта / сервера

c# asp.net webforms

164 просмотра

1 ответ

В моем проекте веб-форм ASP.NET есть папка «inc», а внутри есть еще одна папка «drink» с изображениями внутри. Таким образом, абсолютный путь будет примерно таким: ~ / inc / напитков /.

Я пытаюсь получить все имена файлов в этой папке с помощью этой функции:

private static string[] getImageNames(string imgPath)
    {
        string[] names = Directory.GetFiles(imgPath) // <- exception
                                  .Select(path => Path.GetFileName(path))
                                  .ToArray();

        return names;
    }

К сожалению, это не работает, и я получаю исключение:

Не удалось найти часть пути «C: \ Program Files (x86) \ inc \ напитков». Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.IO.DirectoryNotFoundException: Не удалось найти часть пути «C: \ Program Files (x86) \ inc \ напитков».

На данный момент значение переменной imgPath равно "../inc/wines/", что должно работать, но, как вы можете видеть, программа ищет не файлы сервера, а файловую систему моего компьютера на диске C: , Я пытался поставить "~ /" вместо "../" в начале, но не удача.

Какие-либо предложения?

Автор: Mr. Nicky Источник Размещён: 08.11.2019 11:32

Ответы (1)


2 плюса

Решение

Измените это на Directory.GetFiles(HttpContext.Current.Server.MapPath(imgPath))

Смотрите этот ответ для более подробной информации о Server.MapPath

Автор: Ravi A. Размещён: 20.08.2016 04:04
Вопросы из категории :
32x32