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; _ossContainerFactory = ossContainerFactory;
} }
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.UploadFile)]
public virtual async Task UploadAsync(UploadFileChunkInput input) public virtual async Task UploadAsync(UploadFileChunkInput input)
{ {
await _fileUploader.UploadAsync( 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 LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web;
namespace LINGYUN.Abp.OssManagement namespace LINGYUN.Abp.OssManagement
{ {
@ -21,9 +23,25 @@ namespace LINGYUN.Abp.OssManagement
[Authorize(AbpOssManagementPermissions.OssObject.Create)] [Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task<OssObjectDto> CreateAsync(CreateOssObjectInput input) 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)] [Authorize(AbpOssManagementPermissions.OssObject.Delete)]

Loading…
Cancel
Save