From 5d6ba8e6b477a0ed540e1c3267c2618939a5356b Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期四, 03 四月 2025 17:13:31 +0800 Subject: [PATCH] 人脸识别优化 --- 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_SystemServices/Sys_UserService.cs | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" index 5cb8eb1..827be8c 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" @@ -881,22 +881,29 @@ try { // 鑾峰彇鏂囦欢鐨勫畬鏁磋矾寰� - string pathimage = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "UploadfaceImage"); + string pathimage = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "image"); + // 濡傛灉鏂囦欢澶逛笉瀛樺湪锛岃繑鍥為敊璇俊鎭� if (!Directory.Exists(pathimage)) { return new WebResponseContent { Status = false, Message = "鍥剧墖鏂囦欢澶逛笉瀛樺湪" }; } - //鑾峰彇鏁版嵁搴撲腑鎵�鏈夌殑鍥剧墖锛堟帓闄や负绌猴級 鐜板湪鍥剧墖鍙繚瀛樹簡鏂囦欢鍚� - var userImage = BaseDal.QueryData(x => !string.IsNullOrEmpty(x.HeadImageUrl)).Select(x => x.HeadImageUrl).ToList(); + // **浣跨敤 HashSet 鎻愰珮鏌ユ壘鏁堢巼** + var userImageSet = BaseDal.QueryData(x => !string.IsNullOrEmpty(x.HeadImageUrl)) + .Select(x => x.HeadImageUrl) + .ToHashSet(); // **鎻愬崌鏌ヨ閫熷害** - //鑾峰彇鏂囦欢澶逛腑鎵�鏈夌殑鍥剧墖鏂囦欢 - var imageFiles = Directory.GetFiles(pathimage).Select(Path.GetFileName).ToList(); + // 鑾峰彇鏂囦欢澶逛腑鐨勬墍鏈夊浘鐗囨枃浠讹紙鏂囦欢鍚嶏級 + var imageFiles = Directory.GetFiles(pathimage) + .Select(Path.GetFileName) + .ToList(); + int deletedCount = 0; foreach (var file in imageFiles) { - if (!userImage.Contains(file)) + // **HashSet 鏌ヨ O(1)** + if (!userImageSet.Contains(file)) { string filePath = Path.Combine(pathimage, file); try @@ -910,16 +917,15 @@ } } } - return new WebResponseContent { Status = true, Message = $"娓呯悊瀹屾垚锛屽垹闄や簡 {deletedCount} 寮犳湭浣跨敤鐨勫浘鐗�" }; - + return new WebResponseContent { Status = true, Message = $"娓呯悊瀹屾垚锛屽垹闄や簡 {deletedCount} 寮犳湭浣跨敤鐨勫浘鐗�" }; } catch (Exception ex) { - return new WebResponseContent { Status = false, Message = $"娓呯悊澶辫触: {ex.Message}" }; } } + } } -- Gitblit v1.9.3