6 changed files with 244 additions and 249 deletions
@ -1,70 +1,70 @@ |
|||||
using LINGYUN.Abp.OssManagement.Permissions; |
using LINGYUN.Abp.OssManagement.Permissions; |
||||
using Microsoft.AspNetCore.Authorization; |
using Microsoft.AspNetCore.Authorization; |
||||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||||
|
|
||||
namespace LINGYUN.Abp.OssManagement |
namespace LINGYUN.Abp.OssManagement |
||||
{ |
{ |
||||
[Authorize(AbpOssManagementPermissions.Container.Default)] |
[Authorize(AbpOssManagementPermissions.Container.Default)] |
||||
public class OssContainerAppService : OssManagementApplicationServiceBase, IOssContainerAppService |
public class OssContainerAppService : OssManagementApplicationServiceBase, IOssContainerAppService |
||||
{ |
{ |
||||
protected IOssContainerFactory OssContainerFactory { get; } |
protected IOssContainerFactory OssContainerFactory { get; } |
||||
|
|
||||
public OssContainerAppService( |
public OssContainerAppService( |
||||
IOssContainerFactory ossContainerFactory) |
IOssContainerFactory ossContainerFactory) |
||||
{ |
{ |
||||
OssContainerFactory = ossContainerFactory; |
OssContainerFactory = ossContainerFactory; |
||||
} |
} |
||||
|
|
||||
[Authorize(AbpOssManagementPermissions.Container.Create)] |
[Authorize(AbpOssManagementPermissions.Container.Create)] |
||||
public virtual async Task<OssContainerDto> CreateAsync(string name) |
public virtual async Task<OssContainerDto> CreateAsync(string name) |
||||
{ |
{ |
||||
var oss = CreateOssContainer(); |
var oss = CreateOssContainer(); |
||||
var container = await oss.CreateAsync(name); |
var container = await oss.CreateAsync(name); |
||||
|
|
||||
return ObjectMapper.Map<OssContainer, OssContainerDto>(container); |
return ObjectMapper.Map<OssContainer, OssContainerDto>(container); |
||||
} |
} |
||||
|
|
||||
[Authorize(AbpOssManagementPermissions.Container.Delete)] |
[Authorize(AbpOssManagementPermissions.Container.Delete)] |
||||
public virtual async Task DeleteAsync(string name) |
public virtual async Task DeleteAsync(string name) |
||||
{ |
{ |
||||
var oss = CreateOssContainer(); |
var oss = CreateOssContainer(); |
||||
|
|
||||
await oss.DeleteAsync(name); |
await oss.DeleteAsync(name); |
||||
} |
} |
||||
|
|
||||
public virtual async Task<OssContainerDto> GetAsync(string name) |
public virtual async Task<OssContainerDto> GetAsync(string name) |
||||
{ |
{ |
||||
var oss = CreateOssContainer(); |
var oss = CreateOssContainer(); |
||||
var container = await oss.GetAsync(name); |
var container = await oss.GetAsync(name); |
||||
|
|
||||
return ObjectMapper.Map<OssContainer, OssContainerDto>(container); |
return ObjectMapper.Map<OssContainer, OssContainerDto>(container); |
||||
} |
} |
||||
|
|
||||
public virtual async Task<OssContainersResultDto> GetListAsync(GetOssContainersInput input) |
public virtual async Task<OssContainersResultDto> GetListAsync(GetOssContainersInput input) |
||||
{ |
{ |
||||
var oss = CreateOssContainer(); |
var oss = CreateOssContainer(); |
||||
|
|
||||
var containerResponse = await oss.GetListAsync( |
var containerResponse = await oss.GetListAsync( |
||||
input.Prefix, input.Marker, input.MaxResultCount); |
input.Prefix, input.Marker, input.SkipCount, input.MaxResultCount); |
||||
|
|
||||
return ObjectMapper.Map<GetOssContainersResponse, OssContainersResultDto>(containerResponse); |
return ObjectMapper.Map<GetOssContainersResponse, OssContainersResultDto>(containerResponse); |
||||
} |
} |
||||
|
|
||||
public virtual async Task<OssObjectsResultDto> GetObjectListAsync(GetOssObjectsInput input) |
public virtual async Task<OssObjectsResultDto> GetObjectListAsync(GetOssObjectsInput input) |
||||
{ |
{ |
||||
var oss = CreateOssContainer(); |
var oss = CreateOssContainer(); |
||||
|
|
||||
var ossObjectResponse = await oss.GetObjectsAsync( |
var ossObjectResponse = await oss.GetObjectsAsync( |
||||
input.Bucket, input.Prefix, input.Marker, |
input.Bucket, input.Prefix, input.Marker, |
||||
input.Delimiter, input.EncodingType, |
input.Delimiter, input.EncodingType, |
||||
input.MaxResultCount); |
input.SkipCount, input.MaxResultCount); |
||||
|
|
||||
return ObjectMapper.Map<GetOssObjectsResponse, OssObjectsResultDto>(ossObjectResponse); |
return ObjectMapper.Map<GetOssObjectsResponse, OssObjectsResultDto>(ossObjectResponse); |
||||
} |
} |
||||
|
|
||||
protected virtual IOssContainer CreateOssContainer() |
protected virtual IOssContainer CreateOssContainer() |
||||
{ |
{ |
||||
return OssContainerFactory.Create(); |
return OssContainerFactory.Create(); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
|
|||||
@ -1,18 +1,21 @@ |
|||||
namespace LINGYUN.Abp.OssManagement |
namespace LINGYUN.Abp.OssManagement |
||||
{ |
{ |
||||
public class GetOssContainersRequest |
public class GetOssContainersRequest |
||||
{ |
{ |
||||
public string Prefix { get; } |
public string Prefix { get; } |
||||
public string Marker { get; } |
public string Marker { get; } |
||||
public int? MaxKeys { get; } |
public int Current { get; } |
||||
public GetOssContainersRequest( |
public int? MaxKeys { get; } |
||||
string prefix = null, |
public GetOssContainersRequest( |
||||
string marker = null, |
string prefix = null, |
||||
int? maxKeys = 10) |
string marker = null, |
||||
{ |
int current = 0, |
||||
Prefix = prefix; |
int? maxKeys = 10) |
||||
Marker = marker; |
{ |
||||
MaxKeys = maxKeys; |
Prefix = prefix; |
||||
} |
Marker = marker; |
||||
} |
Current = current; |
||||
} |
MaxKeys = maxKeys; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|||||
@ -1,32 +1,35 @@ |
|||||
using JetBrains.Annotations; |
using JetBrains.Annotations; |
||||
using Volo.Abp; |
using Volo.Abp; |
||||
|
|
||||
namespace LINGYUN.Abp.OssManagement |
namespace LINGYUN.Abp.OssManagement |
||||
{ |
{ |
||||
public class GetOssObjectsRequest |
public class GetOssObjectsRequest |
||||
{ |
{ |
||||
public string BucketName { get; } |
public string BucketName { get; } |
||||
public string Prefix { get; } |
public string Prefix { get; } |
||||
public string Delimiter { get; } |
public string Delimiter { get; } |
||||
public string Marker { get; } |
public string Marker { get; } |
||||
public string EncodingType { get; } |
public string EncodingType { get; } |
||||
public int? MaxKeys { get; } |
public int Current { get; } |
||||
public GetOssObjectsRequest( |
public int? MaxKeys { get; } |
||||
[NotNull] string bucketName, |
public GetOssObjectsRequest( |
||||
string prefix = null, |
[NotNull] string bucketName, |
||||
string marker = null, |
string prefix = null, |
||||
string delimiter = null, |
string marker = null, |
||||
string encodingType = null, |
string delimiter = null, |
||||
int maxKeys = 10) |
string encodingType = null, |
||||
{ |
int current = 0, |
||||
Check.NotNullOrWhiteSpace(bucketName, nameof(bucketName)); |
int maxKeys = 10) |
||||
|
{ |
||||
BucketName = bucketName; |
Check.NotNullOrWhiteSpace(bucketName, nameof(bucketName)); |
||||
Prefix = prefix; |
|
||||
Marker = marker; |
BucketName = bucketName; |
||||
Delimiter = delimiter; |
Prefix = prefix; |
||||
EncodingType = encodingType; |
Marker = marker; |
||||
MaxKeys = maxKeys; |
Delimiter = delimiter; |
||||
} |
EncodingType = encodingType; |
||||
} |
Current = current; |
||||
} |
MaxKeys = maxKeys; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|||||
@ -1,79 +1,81 @@ |
|||||
using System.Collections.Generic; |
using System.Collections.Generic; |
||||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||||
|
|
||||
namespace LINGYUN.Abp.OssManagement |
namespace LINGYUN.Abp.OssManagement |
||||
{ |
{ |
||||
public static class IOssContainerExtensions |
public static class IOssContainerExtensions |
||||
{ |
{ |
||||
/// <summary>
|
/// <summary>
|
||||
/// 如果不存在容器则创建
|
/// 如果不存在容器则创建
|
||||
/// </summary>
|
/// </summary>
|
||||
/// <param name="ossContainer"></param>
|
/// <param name="ossContainer"></param>
|
||||
/// <param name="name"></param>
|
/// <param name="name"></param>
|
||||
/// <returns>返回容器信息</returns>
|
/// <returns>返回容器信息</returns>
|
||||
public static async Task<OssContainer> CreateIfNotExistsAsync( |
public static async Task<OssContainer> CreateIfNotExistsAsync( |
||||
this IOssContainer ossContainer, |
this IOssContainer ossContainer, |
||||
string name) |
string name) |
||||
{ |
{ |
||||
if (! await ossContainer.ExistsAsync(name)) |
if (! await ossContainer.ExistsAsync(name)) |
||||
{ |
{ |
||||
await ossContainer.CreateAsync(name); |
await ossContainer.CreateAsync(name); |
||||
} |
} |
||||
|
|
||||
return await ossContainer.GetAsync(name); |
return await ossContainer.GetAsync(name); |
||||
} |
} |
||||
|
|
||||
public static async Task DeleteObjectAsync( |
public static async Task DeleteObjectAsync( |
||||
this IOssContainer ossContainer, |
this IOssContainer ossContainer, |
||||
string bucket, |
string bucket, |
||||
string @object, |
string @object, |
||||
string path = "") |
string path = "") |
||||
{ |
{ |
||||
await ossContainer.DeleteObjectAsync( |
await ossContainer.DeleteObjectAsync( |
||||
new GetOssObjectRequest(bucket, @object, path)); |
new GetOssObjectRequest(bucket, @object, path)); |
||||
} |
} |
||||
|
|
||||
public static async Task BulkDeleteObjectsAsync( |
public static async Task BulkDeleteObjectsAsync( |
||||
this IOssContainer ossContainer, |
this IOssContainer ossContainer, |
||||
string bucketName, |
string bucketName, |
||||
ICollection<string> objectNames, |
ICollection<string> objectNames, |
||||
string path = "") |
string path = "") |
||||
{ |
{ |
||||
await ossContainer.BulkDeleteObjectsAsync( |
await ossContainer.BulkDeleteObjectsAsync( |
||||
new BulkDeleteObjectRequest(bucketName, objectNames, path)); |
new BulkDeleteObjectRequest(bucketName, objectNames, path)); |
||||
} |
} |
||||
|
|
||||
public static async Task<GetOssContainersResponse> GetListAsync( |
public static async Task<GetOssContainersResponse> GetListAsync( |
||||
this IOssContainer ossContainer, |
this IOssContainer ossContainer, |
||||
string prefix = null, |
string prefix = null, |
||||
string marker = null, |
string marker = null, |
||||
int maxResultCount = 10) |
int skipCount = 0, |
||||
{ |
int maxResultCount = 10) |
||||
return await ossContainer.GetListAsync( |
{ |
||||
new GetOssContainersRequest(prefix, marker, maxResultCount)); |
return await ossContainer.GetListAsync( |
||||
} |
new GetOssContainersRequest(prefix, marker, skipCount, maxResultCount)); |
||||
|
} |
||||
public static async Task<OssObject> GetObjectAsync( |
|
||||
this IOssContainer ossContainer, |
public static async Task<OssObject> GetObjectAsync( |
||||
string bucket, |
this IOssContainer ossContainer, |
||||
string @object, |
string bucket, |
||||
string path = "") |
string @object, |
||||
{ |
string path = "") |
||||
return await ossContainer.GetObjectAsync( |
{ |
||||
new GetOssObjectRequest(bucket, @object, path)); |
return await ossContainer.GetObjectAsync( |
||||
} |
new GetOssObjectRequest(bucket, @object, path)); |
||||
|
} |
||||
public static async Task<GetOssObjectsResponse> GetObjectsAsync( |
|
||||
this IOssContainer ossContainer, |
public static async Task<GetOssObjectsResponse> GetObjectsAsync( |
||||
string name, |
this IOssContainer ossContainer, |
||||
string prefix = null, |
string name, |
||||
string marker = null, |
string prefix = null, |
||||
string delimiter = null, |
string marker = null, |
||||
string encodingType = null, |
string delimiter = null, |
||||
int maxResultCount = 10) |
string encodingType = null, |
||||
{ |
int skipCount = 0, |
||||
return await ossContainer.GetObjectsAsync( |
int maxResultCount = 10) |
||||
new GetOssObjectsRequest(name, prefix, marker, delimiter, encodingType, maxResultCount)); |
{ |
||||
} |
return await ossContainer.GetObjectsAsync( |
||||
} |
new GetOssObjectsRequest(name, prefix, marker, delimiter, encodingType, skipCount, maxResultCount)); |
||||
} |
} |
||||
|
} |
||||
|
} |
||||
|
|||||
Loading…
Reference in new issue