Как прочитать список файлов в каталоге на другом диске в веб-приложении? - PullRequest
0 голосов
/ 10 ноября 2018

Вот часть простой веб-страницы, на которой показан список выбора доступных файлов журнала на подключенном диске:

 public void OnGet()
    {
        StringBuilder logContent = new StringBuilder();
        string[] files = null;
        string directory = @"Q:\logs";
        string reason = "Undefined";
        try
        {
            files = Directory.GetFiles(directory, "*.csv");
        }
        catch (Exception ex)
        {
            reason = ex.Message;
        }
        if (files != null && files.Length > 0)
        {
            logContent.Append(@"<select>");
            foreach (string file in files)
            {
                string aFile = file.Substring(file.LastIndexOf(Path.DirectorySeparatorChar) + 1);
                logContent.Append("<option value=\"" + aFile + "\">" + aFile + "</option>");
            }
            logContent.Append(@"</select>");
...
  else
    {
        logContent.Append("<h3>An Exception occurred: " + reason + "</h3>");
    }

    Message = logContent.ToString();
}

Когда страница запускается, я получаю исключение

"Не удается найти часть пути Q: \ logs.

Диск есть, и если я введу dir Q:\logs в командной строке с диска C, он отобразит содержимое.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 10 ноября 2018

Что вы используете IIS? Если это так, то пользователь, который запускает приложение (пул приложений в IIS), должен быть вами. В противном случае вам необходимо сопоставить диск для этого пользователя, поскольку звучит так, как будто Q является сетевым диском.

...