Как получить доступ ко всем именам файлов из папки удаленного сервера - C #? - PullRequest
0 голосов
/ 18 октября 2010

У меня много изображений на удаленном сервере, например, images.foo.com/222, и я хочу получить доступ к именам файлов всех файлов, которые находятся в папке 222 на images.foo.com/.я пробовал следующий код, но получаю сообщение об ошибке «виртуальный путь не действителен»:

imageserver = http://images.foo.com/222;
DirectoryInfo di = new DirectoryInfo(imageserver); // line giving exception
FileInfo[] rgFiles = di.GetFiles();
string simagename = ""; 
if (rgFiles.Count() > 0)
{
foreach (FileInfo fi in rgFiles)
{
//collect each filename from here
}
}

Пожалуйста, помогите заранее спасибо gbaxi

Ответы [ 3 ]

2 голосов
/ 18 октября 2010

DirectoryInfo нужен UNC-путь типа "\\ fileserver \ images"

Адрес http не будет работать

0 голосов
/ 18 октября 2010

Проблема в том, что HTTP не имеет четкого интерфейса о том, как отображается список каталогов.Существует примерно два варианта:

  1. Анализировать HTML-код, полученный через WebRequest, но вы не получите такие вещи, как время создания / изменения и пользователь;

  2. Используйте другой механизм для получения сведений о файле, таких как FTP или общий доступ к файлам.

0 голосов
/ 18 октября 2010

Вы не можете получить доступ к каталогу, находящемуся в сети, с помощью класса DirectoryInfo. Вместо этого используйте класс WebRequest , чтобы получить список из URL-адреса и получить файлы из этого списка.

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