浏览代码

修改blob数据库容器授权,返回结果,增加URL地址

李思淳 5 年之前
父节点
当前提交
b7f8d288c0

+ 5 - 4
TEAMModelOS.SDK/Module/AzureBlob/Implements/AzureBlobDBRepository.cs

@@ -534,7 +534,7 @@ namespace TEAMModelOS.SDK.Module.AzureBlob.Implements
         /// <param name="container"></param>
         /// <param name="storedPolicyName"></param>
         /// <returns></returns>
-        public  string GetContainerSasUri(string containerName = null, string storedPolicyName = null)
+        public  (string, string) GetContainerSasUri(string containerName = null, string storedPolicyName = null)
         {
             string sasContainerToken;
            
@@ -567,9 +567,10 @@ namespace TEAMModelOS.SDK.Module.AzureBlob.Implements
             }
 
             // Return the URI string for the container, including the SAS token.
-            return sasContainerToken;
+            
+            return (blobContainer.Uri.ToString() , sasContainerToken);
         }
-        public string GetContainerSasUriRead(string containerName, string storedPolicyName = null)
+        public (string, string) GetContainerSasUriRead(string containerName, string storedPolicyName = null)
         {
             string sasContainerToken;
 
@@ -602,7 +603,7 @@ namespace TEAMModelOS.SDK.Module.AzureBlob.Implements
             }
 
             // Return the URI string for the container, including the SAS token.
-            return sasContainerToken;
+            return (blobContainer.Uri.ToString(), sasContainerToken);
         }
 
 

+ 2 - 2
TEAMModelOS.SDK/Module/AzureBlob/Interfaces/IAzureBlobDBRepository.cs

@@ -19,8 +19,8 @@ namespace TEAMModelOS.SDK.Module.AzureBlob.Interfaces
         AzureBlobModel UploadFileByFolderNAsyn(Stream fileSteam, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true);
         string GetBlobSasUri(string blobName, string containerName=null,  string policyName = null);
         string GetBlobSasUriRead(string containerName, string blobName, string policyName = null);
-        string GetContainerSasUri(string containerName=null, string policyName = null);
-        string GetContainerSasUriRead(string containerName, string policyName = null);
+        (string, string) GetContainerSasUri(string containerName=null, string policyName = null);
+        (string, string) GetContainerSasUriRead(string containerName, string policyName = null);
         Task<bool> CreateSharedAccessPolicyAsync(string policyName , string  containerName = null);
         Task DeleteSharedAccessPolicyAsync(string policyName, string  containerName = null);
         Task Deleteblob(string sasUri);

+ 13 - 4
TEAMModelOS/Controllers/Core/FileController.cs

@@ -201,8 +201,12 @@ namespace TEAMModelOS.Controllers.Syllabus
         public BaseJosnRPCResponse GetContainerSAS(JosnRPCRequest<string> azureBlobSASDto)
         {
             JsonRPCResponseBuilder responseBuilder = new JsonRPCResponseBuilder();
-            string SAS = _azureBlobDBRepository.GetContainerSasUri();
-            return responseBuilder.Data(SAS).build();
+            string Url = _azureBlobDBRepository.GetContainerSasUri().Item1;
+            string SAS = _azureBlobDBRepository.GetContainerSasUri().Item2;
+            return responseBuilder.Data(new Dictionary<string,object> { 
+                { "Url",Url },
+                { "SAS",SAS}
+            }).build();
         }
 
         /// <summary>
@@ -216,8 +220,13 @@ namespace TEAMModelOS.Controllers.Syllabus
             JsonRPCResponseBuilder responseBuilder = new JsonRPCResponseBuilder();
             string azureBlobSAS = azureBlobSASDto.@params;
             string ContainerName = ContainerUrlString(azureBlobSAS);
-            string SAS = _azureBlobDBRepository.GetContainerSasUriRead(ContainerName);
-            return responseBuilder.Data(SAS).build();
+            string Url = _azureBlobDBRepository.GetContainerSasUriRead(ContainerName).Item1;
+            string SAS = _azureBlobDBRepository.GetContainerSasUriRead(ContainerName).Item2;
+
+            return responseBuilder.Data(new Dictionary<string, object> {
+                { "Url",Url },
+                { "SAS",SAS}
+            }).build();
         }