У меня есть следующий метод C#, который извлекает все файлы в папке, и используется в приложении ASP.NET и называется, сделав вызов AJAX через JavaScript:Извлечь все файлы из папки на стороне сервера
public string GetSoundFile(string pSoundFolder)
{
string[] pFiles = Directory.GetFiles(pSoundFolder);
string pFileList = "";
for (int ii = 0; ii < pFiles.Length; ii++)
{
if (pFileList == "")
{
pFileList = pFiles[ii];
}
else
{
pFileList += "|" + pFiles[ii];
}
}
return (pFileList);
}
и называется, выполнив следующие действия:
oGetSoundFilesJAXHandler.call("C:\\Projects\\");
Из того, что я понимаю, линии
string[] pFiles = Directory.GetFiles(pSoundFolder);
используется для локальных файлов?
Приложение будет запущено на стороне клиента и потребуется получить доступ к папке на стороне сервера. Если я прав, то мой метод не может быть адаптирован для выполнения задачи, в которой я нуждаюсь.
Я пробовал:
oGetSoundFilesJAXHandler.call("~//Projects//");
Но это не возвращает список файлов.
Я попытался найти способ достижения своей цели, но я ничего не смог найти. Возможно, я не использую правильные ключевые слова в моем поиске, поэтому даже подсказки ключевых слов будут очень признательны.
_ "Из того, что я понимаю, строка: Строка [] pFiles = Directory.GetFiles (pSoundFolder); используется для локальных файлов" _ Если _local_ означает стороне клиента, нет, ASP.NET является серверный язык. Вы не получите файлы из файловой системы клиента. Это будет серьезным недостатком безопасности. –
Кроме того, это должен быть правильный путь, а не виртуальный путь. Вы могли бы сделать ~ // Projects, но сначала вы должны передать эту строку в Server.MapPath, чтобы получить фактический физический путь, который он представляет, а затем передать его в каталог .GetFiles. Кроме того, убедитесь, что вы проверяете Directory.Exists() перед вызовом getfiles, чтобы убедиться, что каталог действительно существует, поэтому вы не получаете ошибок. –