|
@@ -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);
|