Просмотр исходного кода

!1066 添加字符串扩展方法,“将时间格式字符串转换成时间字符串”,简化文件上传服务的path替换
Merge pull request !1066 from kscheng/next

zuohuaijun 2 лет назад
Родитель
Сommit
b5494fa3b0

+ 21 - 0
Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs

@@ -253,6 +253,27 @@ public static partial class ObjectExtension
         }
     }
 
+    /// <summary>
+    /// 将string 时间日期格式转换成字符串 如 {yyyy} => 2024
+    /// </summary>
+    /// <param name="str"></param>
+    /// <returns></returns>
+    public static string ParseToDateTimeForRep(this string str)
+    {
+        if (string.IsNullOrWhiteSpace(str))
+        {
+            var date = DateTime.Now;
+            var reg = new Regex(@"(\{.+?})");
+            var match = reg.Matches(str);
+            match.ToList().ForEach(a =>
+            {
+                var str = date.ToString(a.ToString().Substring(1, a.Length - 2));
+                str = str.Replace(a.ToString(), str);
+            });
+        }
+        return str;
+    }
+
     /// <summary>
     /// 是否有值
     /// </summary>

+ 2 - 12
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -264,18 +264,8 @@ public class SysFileService : IDynamicApiController, ITransient
             if (sysFile != null) return sysFile;
         }
 
-        var path = savePath;
-        if (string.IsNullOrWhiteSpace(savePath))
-        {
-            path = _uploadOptions.Path;
-            var reg = new Regex(@"(\{.+?})");
-            var match = reg.Matches(path);
-            match.ToList().ForEach(a =>
-            {
-                var str = DateTime.Now.ToString(a.ToString().Substring(1, a.Length - 2)); // 每天一个目录
-                path = path.Replace(a.ToString(), str);
-            });
-        }
+        var path = savePath.ParseToDateTimeForRep();
+       
 
         // 验证文件类型
         if (!_uploadOptions.ContentType.Contains(file.ContentType))