Browse Source

blob文件更新

CrazyIter_Bin 4 years ago
parent
commit
72d5c19cf7

+ 1 - 1
TEAMModelOS.SDK/DI/AzureStorage/AzureStorageFactory.cs

@@ -240,7 +240,7 @@ namespace TEAMModelOS.SDK.DI
                 var accountname = keys["AccountName"];
                 var accountkey = keys["AccountKey"];
                 var endpoint = keys["EndpointSuffix"];
-                DateTimeOffset dateTime = DateTimeOffset.UtcNow.Add(new TimeSpan(1, 0, 15, 0));
+                DateTimeOffset dateTime = DateTimeOffset.UtcNow.Add(new TimeSpan(365*99, 0, 15, 0));
                 long time = dateTime.ToUnixTimeMilliseconds();
                 var blobSasBuilder = new BlobSasBuilder
                 {

+ 16 - 62
TEAMModelOS/Controllers/xTest/BlobController.cs

@@ -17,19 +17,17 @@ using TEAMModelOS.SDK.Extension;
 
 namespace TEAMModelOS.Controllers.Core
 {
-    [Route("api/[controller]")]
+    [Route("blob")]
     [ApiController]
     public class BlobController : ControllerBase
     {
 
         private readonly AzureStorageFactory _azureStorage;
-        private readonly SnowflakeId _snowflakeId;
         private readonly IHttpClientFactory _clientFactory;
 
-        public BlobController(AzureStorageFactory azureStorage, SnowflakeId snowflakeId, IHttpClientFactory clientFactory)
+        public BlobController(AzureStorageFactory azureStorage, IHttpClientFactory clientFactory)
         {
             _azureStorage = azureStorage;
-            _snowflakeId = snowflakeId;
             _clientFactory = clientFactory;
         }
 
@@ -38,40 +36,40 @@ namespace TEAMModelOS.Controllers.Core
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
-        [HttpPost("blobSasR")]
-        public BaseResponse BlobSasR(BlobSas request)
+        [HttpPost("sas-r")]
+        public IActionResult BlobSasR(BlobSas request)
         {
             ///返回金钥过期时间
             ResponseBuilder builder = new ResponseBuilder();
             // Dictionary<string, object> dict = await azureBlobDBRepository.GetBlobSasUri(request.@params,true);
             // dict.Add(d.Key, d.Value);
-            return builder.Data(_azureStorage.GetContainerSasUri(request, true)).build();
+            return Ok(_azureStorage.GetContainerSasUri(request, true));
         }
         /// <summary>
         /// 某个文件的上传SAS rcw权限
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
-        [HttpPost("blobSasRCW")]
-        public BaseResponse BlobSasRCW(BlobSas request)
+        [HttpPost("sas-rcwld")]
+        public IActionResult BlobSasRCW(BlobSas request)
         {
             ///返回金钥过期时间
             ResponseBuilder builder = new ResponseBuilder();
             // Dictionary<string,object> dict=  await azureBlobDBRepository.GetBlobSasUri(request.@params,false);
             //   Dictionary<string, object> dict = ;
             //dict.Add(d.Key, d.Value);
-            return builder.Data(_azureStorage.GetContainerSasUri(request, false)).build();
+            return Ok(_azureStorage.GetContainerSasUri(request, false));
         }
         /// <summary>
         /// 链接只读(读)
         /// </summary>
         /// <param name="azureBlobSASDto"></param>
         /// <returns></returns>
-        [HttpPost("urlSasR")]
-        public BaseResponse GetContainerSASRead(JsonElement azureBlobSASDto)
+        [HttpPost("sas-url-r")]
+        public IActionResult GetContainerSASRead(JsonElement azureBlobSASDto)
         {
             ResponseBuilder responseBuilder = new ResponseBuilder();
-            azureBlobSASDto.TryGetProperty("params", out JsonElement azureBlobSAS);
+            azureBlobSASDto.TryGetProperty("url", out JsonElement azureBlobSAS);
             //string azureBlobSAS = azureBlobSASDto;
             (string, string) a = BlobUrlString(azureBlobSAS.ToString());
             string ContainerName = a.Item1;
@@ -79,11 +77,11 @@ namespace TEAMModelOS.Controllers.Core
             bool flg = IsBlobName(BlobName);
             if (flg)
             {
-                return responseBuilder.Data(_azureStorage.GetBlobSasUriRead(ContainerName, BlobName)).build();
+                return Ok(_azureStorage.GetBlobSasUriRead(ContainerName, BlobName));
             }
             else
             {
-                return responseBuilder.Error(ResponseCode.PARAMS_ERROR, "文件名错误").build();
+                return BadRequest("文件名错误");
             };
         }     
       
@@ -95,7 +93,7 @@ namespace TEAMModelOS.Controllers.Core
         /// <param name="azureBlobSASDto"></param>
         /// <returns></returns>
         [HttpPost("getText")]
-        public async Task<BaseResponse> GetText(JsonElement request)
+        public async Task<IActionResult> GetText(JsonElement request)
         {
             request.TryGetProperty("code", out JsonElement code);
             ResponseBuilder responseBuilder = new ResponseBuilder();
@@ -111,28 +109,15 @@ namespace TEAMModelOS.Controllers.Core
                 var  response= await _clientFactory.CreateClient().GetAsync(new Uri(blobAuth.url + blobAuth.sas));
                 response.EnsureSuccessStatusCode();
                 using var json = await JsonDocument.ParseAsync(await response.Content.ReadAsStreamAsync());                
-                return responseBuilder.Data(json.RootElement).build();
+                return  Ok(json.RootElement);
             }
             else
             {
-                return responseBuilder.Error(ResponseCode.PARAMS_ERROR, "文件名错误").build();
+                return BadRequest("文件名错误");
             };
 
         }
 
-        /// <summary>
-        /// 测试单个文本内容的上传
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("deleteBlob")]
-        public async Task<BaseResponse> DeleteBlob(JsonElement request)
-        {
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            var client = _azureStorage.GetBlobBatchClient().DeleteBlobs(new Uri[] {new Uri("https://teammodelstorage.blob.core.chinacloudapi.cn/ydzt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%2FAnimation.xml") });
-            return responseBuilder.Data(client[0].Status).build();
-
-        }
         /// <summary>
         /// 测试单个文本内容的上传
         /// </summary>
@@ -148,37 +133,6 @@ namespace TEAMModelOS.Controllers.Core
             return Ok(new { size });
         }
 
-        /// <summary>
-        /// 测试单个文本内容的上传
-        /// </summary>
-        /// <param name="azureBlobSASDto"></param>
-        /// <returns></returns>
-        [HttpPost("testjson")]
-        public async Task<BaseResponse> Uploadtest(JsonElement request)
-        {
-
-
-            JsonElement json= await RedisHelper.CacheShellAsync("test:" + "test", "bbbbbbbbbbbbbbbbbbbbb", 3600, () => { return test(request); });
-
-            ResponseBuilder responseBuilder = new ResponseBuilder();
-            return responseBuilder.Data(RedisHelper.HGet<JsonElement>("test:" + "test", "aaaaaaaaaaaaaaaaa")).build();
-
-        }
-
-        private Task<JsonElement> test(JsonElement request)
-        {
-            return Task.FromResult(request);
-        }
-
-        private static string ContainerUrlString(string sasUrl)
-        {
-            ///移除http://
-            sasUrl = sasUrl.Substring(8);
-            string[] sasUrls = sasUrl.Split("/");
-            string ContainerName;
-            ContainerName = sasUrls[1].Clone().ToString();
-            return ContainerName;
-        }
         private static (string, string) BlobUrlString(string sasUrl)
         {
             sasUrl = sasUrl.Substring(8);

+ 2 - 2
TEAMModelOS/Controllers/Import/ImportController.cs

@@ -257,8 +257,8 @@ namespace TEAMModelOS.Controllers
                 {
                     string[] strs = store.url.Split(',');
                     Stream stream = new MemoryStream(Convert.FromBase64String(strs[1]));
-                    var urlstrs = key.Split("/");
-                    var name = urlstrs[urlstrs.Length - 1];
+                   // var urlstrs = key.Split("/");
+                    var name = key.Replace("/","");
                     str.url = $"{name}";
                     tasksFiles.Add(_azureStorage.UploadFileByContainer(id, stream, "res", $"{FileName}/{name}", false));
                 }