Kaynağa Gözat

😎调整文件实体文件大小字段类型为long

zuohuaijun 1 yıl önce
ebeveyn
işleme
0b88687073

+ 2 - 3
Admin.NET/Admin.NET.Core/Entity/SysFile.cs

@@ -52,9 +52,8 @@ public partial class SysFile : EntityBase
     /// <summary>
     /// 文件大小KB
     /// </summary>
-    [SugarColumn(ColumnDescription = "文件大小KB", Length = 16)]
-    [MaxLength(16)]
-    public string? SizeKb { get; set; }
+    [SugarColumn(ColumnDescription = "文件大小KB")]
+    public long SizeKb { get; set; }
 
     /// <summary>
     /// 文件大小信息-计算后的

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/File/Dto/FileInput.cs

@@ -151,7 +151,7 @@ public class FileOutput
     /// <summary>
     /// 大小
     /// </summary>
-    public string SizeKb { get; set; }
+    public long SizeKb { get; set; }
 
     /// <summary>
     /// 后缀

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

@@ -321,8 +321,7 @@ public class SysFileService : IDynamicApiController, ITransient
              * Mysql8 中如果使用了 utf8mb4_general_ci 之外的编码会出错,尽量避免在条件里使用.ToString()
              * 因为 Squsugar 并不是把变量转换为字符串来构造SQL语句,而是构造了CAST(123 AS CHAR)这样的语句,这样这个返回值是utf8mb4_general_ci,所以容易出错。
              */
-            var strSizeKb = sizeKb.ToString();
-            var sysFile = await _sysFileRep.GetFirstAsync(u => u.FileMd5 == fileMd5 && (u.SizeKb == null || u.SizeKb == strSizeKb));
+            var sysFile = await _sysFileRep.GetFirstAsync(u => u.FileMd5 == fileMd5 && u.SizeKb == sizeKb);
             if (sysFile != null) return sysFile;
         }
 
@@ -364,7 +363,7 @@ public class SysFileService : IDynamicApiController, ITransient
             BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Bucket : "Local",
             FileName = Path.GetFileNameWithoutExtension(file.FileName),
             Suffix = suffix,
-            SizeKb = sizeKb.ToString(),
+            SizeKb = sizeKb,
             FilePath = path,
             FileMd5 = fileMd5,
             FileType = fileType