Browse Source

处理结束标签

CrazyIter_Bin 4 năm trước cách đây
mục cha
commit
5fa6bd27a7

+ 4 - 4
TEAMModelOS.SDK/DI/AzureStorage/AzureStorageBlobExtensions.cs

@@ -45,17 +45,17 @@ namespace TEAMModelOS.SDK.DI
         /// </summary>      
         /// <param name="prefix">篩選開頭名稱,Null代表容器總大小</param>
         /// <returns>總大小(Bytes),如果為Null代表查無前置詞或者發生錯誤</returns>
-        public static async Task<(long?, Dictionary<string, long?>)> GetBlobsCatalogSize(this BlobContainerClient client, string prefix = null)
+        public static async Task<(long?, Dictionary<string, double?>)> GetBlobsCatalogSize(this BlobContainerClient client, string prefix = null)
         {
             long? size = 0;
-            Dictionary<string, long?> dict = new Dictionary<string, long?>();
+            Dictionary<string, double?> dict = new Dictionary<string, double?>();
             try
             {
-                List<KeyValuePair<string, long?>> foderSize = new List<KeyValuePair<string, long?>>();
+                List<KeyValuePair<string, double?>> foderSize = new List<KeyValuePair<string, double?>>();
                 await foreach (BlobItem item in client.GetBlobsAsync(BlobTraits.None, BlobStates.None, prefix))
                 {
                     var len = item.Properties.ContentLength;
-                    foderSize.Add(new KeyValuePair<string, long?>(item.Name.Split("/")[0], len));
+                    foderSize.Add(new KeyValuePair<string, double?>(item.Name.Split("/")[0], len));
                     size += item.Properties.ContentLength;
                 };
                 foderSize.Select(x => new { x.Key, x.Value }).GroupBy(y=>y.Key).ToList().ForEach(g=> {

+ 4 - 2
TEAMModelOS/Controllers/Core/BlobController.cs

@@ -258,8 +258,10 @@ namespace TEAMModelOS.Controllers.Core
             var size = await client.GetBlobsCatalogSize();
 
             await _azureRedis.GetRedisClient(8).HashSetAsync($"Blob:Record", name, size.Item1);
-
-            return Ok(new { size });
+            foreach (var key in size.Item2.Keys) {
+                await _azureRedis.GetRedisClient(8).SortedSetIncrementAsync($"Blob:Catalog:{name}", key, size.Item2[key].HasValue?size.Item2[key].Value:0);
+            }
+            return Ok(new { size = size.Item1, catalog = size.Item2 });
         }
         /// <summary>
         /// 测试单个文本内容的上传

+ 1 - 1
TEAMModelOS/TEAMModelOS.csproj

@@ -7,7 +7,7 @@
     <PackageReference Include="Caching.CSRedis" Version="3.6.50" />
     <PackageReference Include="CSRedisCore" Version="3.6.5" />
     <PackageReference Include="DotNetZip" Version="1.15.0" />
-    <PackageReference Include="HTEXLib" Version="2.3.3" />
+    <PackageReference Include="HTEXLib" Version="2.3.4" />
     <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.6" />
       <PackageReference Include="VueCliMiddleware" Version="3.1.2" />  </ItemGroup>
   <PropertyGroup>