WebService代码:
private void GetDirectoryFiles() { string PageURL = contextW.Request.Form["PageURL"];//URL页面 string role_str = Utility.Tool.GetStrRole(PageURL);//在该页面的权限 if (!string.IsNullOrEmpty(role_str)) { string dir = contextW.Request.Form["dir"]; string dirPath = contextW.Server.MapPath(dir); if (System.IO.Directory.Exists(dirPath)) { List<string> list = new List<string>(); DirectoryInfo folder = new DirectoryInfo(dirPath); reGetFiles(folder, ref list, dir); Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter(); Jayrock.Json.Conversion.JsonConvert.Export(list, writer); contextW.Response.Write(writer.ToString()); } else { contextW.Response.Write("0"); } } else { contextW.Response.Write("-1"); } contextW.ApplicationInstance.CompleteRequest(); } //获取目录下所有的文件(递归) private void reGetFiles(DirectoryInfo folder, ref List<string> list,string dir) { string dirPath = contextW.Server.MapPath(dir); //获取此目录下的文件 foreach (FileInfo file in folder.GetFiles()) { string newPath = dir + file.FullName.Replace(dirPath, "").Replace("\\", "/"); list.Add(newPath); } //获取此目录下的目录 foreach (DirectoryInfo dirtemp in folder.GetDirectories()) { reGetFiles(dirtemp, ref list,dir); } }
dir=“/Words/”即获取Words下所有文件相对路径