|
@@ -7,7 +7,10 @@ using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
using TEAMModelOS.SDK.Context.Constant.Common;
|
|
using TEAMModelOS.SDK.Context.Constant.Common;
|
|
|
|
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
|
|
using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
|
|
using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
|
|
|
|
+using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
|
|
|
|
+using TEAMModelOS.SDK.Helper.Security.ShaHash;
|
|
using TEAMModelOS.SDK.Module.AzureBlob.Container;
|
|
using TEAMModelOS.SDK.Module.AzureBlob.Container;
|
|
using TEAMModelOS.SDK.Module.AzureBlob.Interfaces;
|
|
using TEAMModelOS.SDK.Module.AzureBlob.Interfaces;
|
|
using TEAMModelOS.Service.Core.Interfaces;
|
|
using TEAMModelOS.Service.Core.Interfaces;
|
|
@@ -27,7 +30,6 @@ namespace TEAMModelOS.Controllers.Core
|
|
|
|
|
|
|
|
|
|
[HttpPost("uploadFiles")]
|
|
[HttpPost("uploadFiles")]
|
|
- [AllowAnonymous]
|
|
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
public async Task<BaseJosnRPCResponse> BlobSaveFile([FromForm] IFormFile[] files)
|
|
public async Task<BaseJosnRPCResponse> BlobSaveFile([FromForm] IFormFile[] files)
|
|
{
|
|
{
|
|
@@ -45,7 +47,6 @@ namespace TEAMModelOS.Controllers.Core
|
|
return responseBuilder.Data(list).build();
|
|
return responseBuilder.Data(list).build();
|
|
}
|
|
}
|
|
[HttpPost("uploadFile")]
|
|
[HttpPost("uploadFile")]
|
|
- [AllowAnonymous]
|
|
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
public async Task<BaseJosnRPCResponse> BlobSaveFile([FromForm] IFormFile file)
|
|
public async Task<BaseJosnRPCResponse> BlobSaveFile([FromForm] IFormFile file)
|
|
{
|
|
{
|
|
@@ -65,7 +66,6 @@ namespace TEAMModelOS.Controllers.Core
|
|
return responseBuilder.Data(list).build();
|
|
return responseBuilder.Data(list).build();
|
|
}
|
|
}
|
|
[HttpPost("uploadCkeditor")]
|
|
[HttpPost("uploadCkeditor")]
|
|
- [AllowAnonymous]
|
|
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
public async Task<Dictionary<string,Object>> uploadCkeditor([FromForm] IFormFile file)
|
|
public async Task<Dictionary<string,Object>> uploadCkeditor([FromForm] IFormFile file)
|
|
{
|
|
{
|
|
@@ -85,7 +85,6 @@ namespace TEAMModelOS.Controllers.Core
|
|
return new Dictionary<string, object> { { "uploaded",1 },{"url",list.First().BlobUrl } };
|
|
return new Dictionary<string, object> { { "uploaded",1 },{"url",list.First().BlobUrl } };
|
|
}
|
|
}
|
|
[HttpPost("uploadWangEditor")]
|
|
[HttpPost("uploadWangEditor")]
|
|
- [AllowAnonymous]
|
|
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
[RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
public async Task<Dictionary<string, Object>> uploadWangEditor([FromForm] IFormFile[] files)
|
|
public async Task<Dictionary<string, Object>> uploadWangEditor([FromForm] IFormFile[] files)
|
|
{
|
|
{
|
|
@@ -102,5 +101,67 @@ namespace TEAMModelOS.Controllers.Core
|
|
await _azureBlobModelService.SaveAll<AzureBlobModel>(list);
|
|
await _azureBlobModelService.SaveAll<AzureBlobModel>(list);
|
|
return new Dictionary<string, object> { { "errno", 0 }, { "data", list.Select(x=>x.BlobUrl)}};
|
|
return new Dictionary<string, object> { { "errno", 0 }, { "data", list.Select(x=>x.BlobUrl)}};
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ [HttpPost("uploadWord")]
|
|
|
|
+ [RequestSizeLimit(102_400_000_00)] //最大10000m左右
|
|
|
|
+ public async Task<BaseJosnRPCResponse> uploadWord([FromForm] IFormFile file)
|
|
|
|
+ {
|
|
|
|
+ JsonRPCResponseBuilder responseBuilder = new JsonRPCResponseBuilder();
|
|
|
|
+ if (!FileType.GetExtention(file.FileName).ToLower().Equals("doc"))
|
|
|
|
+ {
|
|
|
|
+ return responseBuilder.Error("type is not doc").build();
|
|
|
|
+ }
|
|
|
|
+ string shaCode = ShaHashHelper.GetSHA1(file.OpenReadStream());
|
|
|
|
+ long length = file.Length;
|
|
|
|
+ Dictionary<string, object> dict = new Dictionary<string, object> { { "Sha1Code", shaCode },{ "Length", length } };
|
|
|
|
+ List<AzureBlobModel> models= await _azureBlobModelService.FindListByDict<AzureBlobModel>(dict);
|
|
|
|
+ if (models.IsNotEmpty()) {
|
|
|
|
+ return responseBuilder.Data(models.First()).build();
|
|
|
|
+ }
|
|
|
|
+ AzureBlobModel model = await _azureBlobDBRepository.UploadWord(file);
|
|
|
|
+ model.Sha1Code = shaCode;
|
|
|
|
+ await _azureBlobModelService.Save<AzureBlobModel>(model);
|
|
|
|
+ return responseBuilder.Data(model).build();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// {"Sha1Code":"1111","Length":233444}
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="request"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpPost("uploaded")]
|
|
|
|
+ public async Task<BaseJosnRPCResponse> uploaded(JosnRPCRequest<Dictionary<string,object>> request)
|
|
|
|
+ {
|
|
|
|
+ JsonRPCResponseBuilder responseBuilder = new JsonRPCResponseBuilder();
|
|
|
|
+ List<AzureBlobModel> models = await _azureBlobModelService.FindListByDict<AzureBlobModel>(request.@params);
|
|
|
|
+ if (models.IsNotEmpty())
|
|
|
|
+ {
|
|
|
|
+ return responseBuilder.Data(models.First()).build();
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ return responseBuilder.Data(null).build();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="request"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpPost("saveBlob")]
|
|
|
|
+ public async Task<BaseJosnRPCResponse> saveBlob(JosnRPCRequest<AzureBlobModel> request)
|
|
|
|
+ {
|
|
|
|
+ JsonRPCResponseBuilder responseBuilder = new JsonRPCResponseBuilder();
|
|
|
|
+ AzureBlobModel model = await _azureBlobModelService.SaveOrUpdate<AzureBlobModel>(request.@params);
|
|
|
|
+ if (model != null && !string.IsNullOrEmpty(model.RowKey))
|
|
|
|
+ {
|
|
|
|
+ return responseBuilder.Data(model).build();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return responseBuilder.Data(null).build();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|