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 );
            }
        }
复制代码

运行测试结果 

 

 

posted on   码农at突泉  阅读(1370)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示