Browse Source

fix(oss): when oss is created, the directory is created if the data is empty

pull/341/head
cKey 4 years ago
parent
commit
345bbfe1bf
  1. 1
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/FileAppServiceBase.cs
  2. 22
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs

1
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/FileAppServiceBase.cs

@ -24,6 +24,7 @@ namespace LINGYUN.Abp.OssManagement
_ossContainerFactory = ossContainerFactory;
}
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.UploadFile)]
public virtual async Task UploadAsync(UploadFileChunkInput input)
{
await _fileUploader.UploadAsync(

22
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs

@ -1,6 +1,8 @@
using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using System.IO;
using System.Threading.Tasks;
using System.Web;
namespace LINGYUN.Abp.OssManagement
{
@ -21,9 +23,25 @@ namespace LINGYUN.Abp.OssManagement
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task<OssObjectDto> CreateAsync(CreateOssObjectInput input)
{
var ossObject = await Merger.MergeAsync(input);
// 内容为空时建立目录
if (input.Content.IsNullOrEmpty())
{
var oss = CreateOssContainer();
var request = new CreateOssObjectRequest(
HttpUtility.UrlDecode(input.Bucket),
HttpUtility.UrlDecode(input.Object),
input.Content,
HttpUtility.UrlDecode(input.Path));
var ossObject = await oss.CreateObjectAsync(request);
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
}
else
{
var ossObject = await Merger.MergeAsync(input);
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
}
}
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]

Loading…
Cancel
Save