| | |
| | | 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 |
| | |
| | | } |
| | | } |
| | | } |
| | | 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}" }; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |