From 9131a731bfa8ba721742372501854adc98555d21 Mon Sep 17 00:00:00 2001 From: doraq <13938221236@163.com> Date: Wed, 7 Aug 2024 10:13:40 +0800 Subject: [PATCH] Renaming error in case of file duplication https://github.com/EasyAbp/FileManagement/issues/135#issue-2452008136 --- .../EasyAbp/FileManagement/Files/FileRepository.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EasyAbp.FileManagement.EntityFrameworkCore/EasyAbp/FileManagement/Files/FileRepository.cs b/src/EasyAbp.FileManagement.EntityFrameworkCore/EasyAbp/FileManagement/Files/FileRepository.cs index 83e2edb..1710bdb 100644 --- a/src/EasyAbp.FileManagement.EntityFrameworkCore/EasyAbp/FileManagement/Files/FileRepository.cs +++ b/src/EasyAbp.FileManagement.EntityFrameworkCore/EasyAbp/FileManagement/Files/FileRepository.cs @@ -120,11 +120,11 @@ public virtual async Task GetFileNameWithNextSerialNumberAsync(string fi var nextNumber = fileNames .Select(x => - x.Substring(part1.Length, x.LastIndexOf(part2, StringComparison.Ordinal) - part1.Length)) + x.LastIndexOf(part2, StringComparison.Ordinal) > 0 ? x.Substring(part1.Length, x.LastIndexOf(part2, StringComparison.Ordinal) - part1.Length) : "") .Select(x => int.TryParse(x, out var number) ? number : 0).Where(x => x > 0).OrderBy(x => x) .TakeWhile((x, i) => x == i + 1).LastOrDefault() + 1; return $"{part1}{nextNumber}{part2}"; } } -} \ No newline at end of file +}