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 ); } }
运行测试结果
分类:
asp.net core
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构