c# 获取 文件夹及子文件夹中所有文件
返回固定 文件夹子路径
public IActionResult getAjAttach(int AjID) { string contentRootPath = _webHostEnvironment.ContentRootPath; string path = contentRootPath + @"\UpFile\" + AjID + @"\"; DirectoryInfo di = new DirectoryInfo(path); if (!di.Exists) { return Json(new { count = 0, msg = $"编号为{AjID}的文件夹不存在!", }); } else { List<string> FileList = new List<string>(); GetFiles(path, FileList); return Json(new { FileList=FileList }); } } /// <summary> /// 获取所有文件 /// </summary> /// <param name="path"></param> /// <param name="FileList"></param> private void GetFiles(string path, List<string> FileList ) { DirectoryInfo dir = new DirectoryInfo(path); FileInfo[] fil = dir.GetFiles(); DirectoryInfo[] dii = dir.GetDirectories(); foreach (FileInfo f in fil) { int pos = f.FullName.IndexOf("UpFile"); // 获取 从 upfile/ 以后 路径及文件名 string n = f.FullName.Substring(pos + 7, f.FullName.Length - pos-7); // Console.WriteLine("文件名"+n); FileList.Add(n); } //获取子文件夹内的文件列表,递归遍历 foreach (DirectoryInfo d in dii) { // Console.WriteLine("文件夹名" + d.FullName); GetFiles(d.FullName, FileList ); } }
运行测试结果

浙公网安备 33010602011771号