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_ISystemServices/ISys_UserService.cs | 6 ++++++
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj | 1 +
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_SystemServices/Sys_UserService.cs | 24 +++++++++++++++---------
3 files changed, 22 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_ISystemServices/ISys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
index e3ddea9..37eb6c5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_ISystemServices/ISys_UserService.cs"
@@ -88,6 +88,12 @@
/// <returns></returns>
WebResponseContent CleanUnusedImages();
+
+ /// <summary>
+ /// 淇濆瓨浜鸿劯鐧诲叆鏃剁殑鍥剧墖
+ /// </summary>
+ /// <param name="files"></param>
+ /// <returns></returns>
WebResponseContent SaveFaceFiles(IFormCollection files);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj"
index b06d2db..87a904a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj"
@@ -67,6 +67,7 @@
<ItemGroup>
<Folder Include="Controllers\BasicInfo\" />
+ <Folder Include="wwwroot\UploadfaceImage\" />
</ItemGroup>
</Project>
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