Browse Source

rename LINGYUN.Abp.FileManagement.* to LINGYUN.Abp.OssManagement.*

pull/216/head
cKey 5 years ago
parent
commit
9e7d3badd7
  1. 28
      aspnet-core/LINGYUN.MicroService.All.sln
  2. 18
      aspnet-core/LINGYUN.MicroService.BackendAdmin.sln
  3. 54
      aspnet-core/LINGYUN.MicroService.Platform.sln
  4. 24
      aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md
  5. 24
      aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/README.en.md
  6. 20
      aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/README.md
  7. 12
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationContractsModule.cs
  8. 49
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureDefinitionProvider.cs
  9. 23
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureNames.cs
  10. 34
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissionDefinitionProvider.cs
  11. 44
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissions.cs
  12. 23
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationModule.cs
  13. 13
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationServiceBase.cs
  14. 9
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/AbpFileManagementResource.cs
  15. 9
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementContainer.cs
  16. 15
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementDomainModule.cs
  17. 18
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssProviderArgs.cs
  18. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN.Abp.OssManagement.Aliyun.csproj
  19. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AbpOssManagementAliyunModule.cs
  20. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainer.cs
  21. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainerFactory.cs
  22. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/README.md
  23. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN.Abp.OssManagement.Application.Contracts.csproj
  24. 12
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationContractsModule.cs
  25. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/BulkDeleteOssObjectInput.cs
  26. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/CreateOssObjectInput.cs
  27. 73
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureDefinitionProvider.cs
  28. 41
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureNames.cs
  29. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssContainersInput.cs
  30. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectInput.cs
  31. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectsInput.cs
  32. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetStaticFileInput.cs
  33. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssContainerAppService.cs
  34. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssObjectAppService.cs
  35. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IStaticFilesAppService.cs
  36. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainerDto.cs
  37. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainersResultDto.cs
  38. 7
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssManagementRemoteServiceConsts.cs
  39. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectDto.cs
  40. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectsResultDto.cs
  41. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissionDefinitionProvider.cs
  42. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissions.cs
  43. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN.Abp.OssManagement.Application.csproj
  44. 23
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationModule.cs
  45. 11
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssContainerAppService.cs
  46. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationAutoMapperProfile.cs
  47. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationServiceBase.cs
  48. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs
  49. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/StaticFilesAppService.cs
  50. 8
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN.Abp.OssManagement.Domain.Shared.csproj
  51. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/AbpOssManagementDomainSharedModule.cs
  52. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/AbpOssManagementResource.cs
  53. 33
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/en.json
  54. 37
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/zh-Hans.json
  55. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/OssManagementErrorCodes.cs
  56. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingDefinitionProvider.cs
  57. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingNames.cs
  58. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/System/IO/StreamExtensions.cs
  59. 3
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN.Abp.OssManagement.Domain.csproj
  60. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementContainer.cs
  61. 17
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementDomainModule.cs
  62. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/BulkDeleteObjectRequest.cs
  63. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/CreateOssObjectRequest.cs
  64. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersRequest.cs
  65. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersResponse.cs
  66. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectRequest.cs
  67. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsRequest.cs
  68. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsResponse.cs
  69. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainer.cs
  70. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerExtensions.cs
  71. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerFactory.cs
  72. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssContainer.cs
  73. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObject.cs
  74. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObjectComparer.cs
  75. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj
  76. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/AbpOssManagementFileSystemImageSharpModule.cs
  77. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs
  78. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/README.md
  79. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN.Abp.OssManagement.FileSystem.csproj
  80. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/AbpOssManagementFileSystemModule.cs
  81. 24
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs
  82. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainerFactory.cs
  83. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssObjectContext.cs
  84. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptions.cs
  85. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptionsExtensions.cs
  86. 5
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs
  87. 5
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs
  88. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/README.md
  89. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN.Abp.OssManagement.HttpApi.csproj
  90. 8
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiModule.cs
  91. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/FileValidater.cs
  92. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/IFileValidater.cs
  93. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssContainerController.cs
  94. 13
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssObjectController.cs
  95. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/StaticFilesController.cs
  96. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/UploadOssObjectInput.cs
  97. 20
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/AbpOssManagementSettingManagementModule.cs
  98. 18
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN.Abp.OssManagement.SettingManagement.csproj
  99. 13
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/IOssManagementSettingAppService.cs
  100. 73
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingAppService.cs

28
aspnet-core/LINGYUN.MicroService.All.sln

@ -177,17 +177,20 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.HttpAp
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.HttpApi.Client", "modules\identity\LINGYUN.Abp.Identity.HttpApi.Client\LINGYUN.Abp.Identity.HttpApi.Client.csproj", "{7DDEAEA9-E392-469C-ACB6-908C5BAD669E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.HttpApi.Client", "modules\identity\LINGYUN.Abp.Identity.HttpApi.Client\LINGYUN.Abp.Identity.HttpApi.Client.csproj", "{7DDEAEA9-E392-469C-ACB6-908C5BAD669E}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}"
ProjectSection(SolutionItems) = preProject
modules\cloud-aliyun\LINGYUN.Abp.Aliyun\README.md = modules\cloud-aliyun\LINGYUN.Abp.Aliyun\README.md
EndProjectSection
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application", "modules\file-management\LINGYUN.Abp.FileManagement.Application\LINGYUN.Abp.FileManagement.Application.csproj", "{F3D50E3E-34D2-48C1-AB0D-ADCF92DC07D0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application", "modules\oss-management\LINGYUN.Abp.OssManagement.Application\LINGYUN.Abp.OssManagement.Application.csproj", "{F3D50E3E-34D2-48C1-AB0D-ADCF92DC07D0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application.Contracts", "modules\file-management\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj", "{86A67B8C-EFA0-4103-B60F-312F07C15A7A}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{86A67B8C-EFA0-4103-B60F-312F07C15A7A}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.HttpApi", "modules\file-management\LINGYUN.Abp.FileManagement.HttpApi\LINGYUN.Abp.FileManagement.HttpApi.csproj", "{854E1A42-FEA4-420E-9E83-0A39EE03F1ED}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.HttpApi", "modules\oss-management\LINGYUN.Abp.OssManagement.HttpApi\LINGYUN.Abp.OssManagement.HttpApi.csproj", "{854E1A42-FEA4-420E-9E83-0A39EE03F1ED}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{21FCEF89-9A3F-476E-833A-A9C2131B2AE6}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain.Shared", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj", "{21FCEF89-9A3F-476E-833A-A9C2131B2AE6}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain", "modules\file-management\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj", "{14ECCFD6-2DC1-4124-BE26-15E8D28E3E90}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj", "{14ECCFD6-2DC1-4124-BE26-15E8D28E3E90}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.HttpApi.Host", "services\platform\LINGYUN.Platform.HttpApi.Host\LINGYUN.Platform.HttpApi.Host.csproj", "{372123C3-3AFD-42C8-BB80-778322EA72C3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.HttpApi.Host", "services\platform\LINGYUN.Platform.HttpApi.Host\LINGYUN.Platform.HttpApi.Host.csproj", "{372123C3-3AFD-42C8-BB80-778322EA72C3}"
EndProject EndProject
@ -273,11 +276,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.SettingM
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.Tests", "tests\LINGYUN.Abp.Aliyun.Tests\LINGYUN.Abp.Aliyun.Tests.csproj", "{B86EBB6F-A27F-4277-8265-937951A9DCB0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.Tests", "tests\LINGYUN.Abp.Aliyun.Tests\LINGYUN.Abp.Aliyun.Tests.csproj", "{B86EBB6F-A27F-4277-8265-937951A9DCB0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Aliyun", "modules\file-management\LINGYUN.Abp.FileManagement.Aliyun\LINGYUN.Abp.FileManagement.Aliyun.csproj", "{35B17218-9FB6-439E-AF73-9A1454BC923C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Aliyun", "modules\oss-management\LINGYUN.Abp.OssManagement.Aliyun\LINGYUN.Abp.OssManagement.Aliyun.csproj", "{35B17218-9FB6-439E-AF73-9A1454BC923C}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.FileSystem", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj", "{D5036D3F-1C53-47EE-BA50-AD290AE062D7}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj", "{D5036D3F-1C53-47EE-BA50-AD290AE062D7}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.FileSystem.ImageSharp", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem.ImageSharp\LINGYUN.Abp.FileManagement.FileSystem.ImageSharp.csproj", "{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem.ImageSharp", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj", "{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.SettingManagement", "modules\oss-management\LINGYUN.Abp.OssManagement.SettingManagement\LINGYUN.Abp.OssManagement.SettingManagement.csproj", "{BD74BE00-54E4-4979-8797-E8027695F396}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -737,6 +742,10 @@ Global
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Debug|Any CPU.Build.0 = Debug|Any CPU {3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.Build.0 = Release|Any CPU {3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.Build.0 = Release|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -877,6 +886,7 @@ Global
{35B17218-9FB6-439E-AF73-9A1454BC923C} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6} {35B17218-9FB6-439E-AF73-9A1454BC923C} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{D5036D3F-1C53-47EE-BA50-AD290AE062D7} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6} {D5036D3F-1C53-47EE-BA50-AD290AE062D7} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6} {3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{BD74BE00-54E4-4979-8797-E8027695F396} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718} SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718}

18
aspnet-core/LINGYUN.MicroService.BackendAdmin.sln

@ -43,9 +43,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "permissions-management", "p
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Domain\LINGYUN.Abp.PermissionManagement.Domain.csproj", "{7521486D-2144-4AFA-86AD-8E8021479DE6}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Domain\LINGYUN.Abp.PermissionManagement.Domain.csproj", "{7521486D-2144-4AFA-86AD-8E8021479DE6}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{8F972C8E-F047-4883-A4BF-3423A2BAED36}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{8F972C8E-F047-4883-A4BF-3423A2BAED36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{49F8CD24-85EA-479A-A376-CC31A0618AE7}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "account", "account", "{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "account", "account", "{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}"
EndProject EndProject
@ -67,7 +65,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.MiniProg
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.Official", "modules\wechat\LINGYUN.Abp.WeChat.Official\LINGYUN.Abp.WeChat.Official.csproj", "{EAD2F955-88CA-4570-AB81-31FB2FF02605}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.Official", "modules\wechat\LINGYUN.Abp.WeChat.Official\LINGYUN.Abp.WeChat.Official.csproj", "{EAD2F955-88CA-4570-AB81-31FB2FF02605}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.WeChat.SettingManagement", "modules\wechat\LINGYUN.Abp.WeChat.SettingManagement\LINGYUN.Abp.WeChat.SettingManagement.csproj", "{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.SettingManagement", "modules\wechat\LINGYUN.Abp.WeChat.SettingManagement\LINGYUN.Abp.WeChat.SettingManagement.csproj", "{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -127,10 +127,6 @@ Global
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU {7521486D-2144-4AFA-86AD-8E8021479DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU {7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.Build.0 = Release|Any CPU {7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.Build.0 = Release|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Release|Any CPU.Build.0 = Release|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.Build.0 = Debug|Any CPU {AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Release|Any CPU.ActiveCfg = Release|Any CPU {AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -167,6 +163,10 @@ Global
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Debug|Any CPU.Build.0 = Debug|Any CPU {3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.ActiveCfg = Release|Any CPU {3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.Build.0 = Release|Any CPU {3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.Build.0 = Release|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -191,7 +191,6 @@ Global
{D25C4814-71AB-4A9D-8C76-298A7DE1A747} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C} {D25C4814-71AB-4A9D-8C76-298A7DE1A747} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{7521486D-2144-4AFA-86AD-8E8021479DE6} = {D25C4814-71AB-4A9D-8C76-298A7DE1A747} {7521486D-2144-4AFA-86AD-8E8021479DE6} = {D25C4814-71AB-4A9D-8C76-298A7DE1A747}
{8F972C8E-F047-4883-A4BF-3423A2BAED36} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C} {8F972C8E-F047-4883-A4BF-3423A2BAED36} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{49F8CD24-85EA-479A-A376-CC31A0618AE7} = {8F972C8E-F047-4883-A4BF-3423A2BAED36}
{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C} {9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4} = {9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770} {AA2F7243-976C-47F3-9B4E-20CC22F8FCF4} = {9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}
{E758D3A7-DB93-4EAC-A2ED-C2322D4F7D67} = {2F56344F-6E06-4F9B-A0F2-8A6F0AEB096A} {E758D3A7-DB93-4EAC-A2ED-C2322D4F7D67} = {2F56344F-6E06-4F9B-A0F2-8A6F0AEB096A}
@ -203,6 +202,7 @@ Global
{D42CE0F0-331F-4E5C-92CD-6B4DD6854E69} = {B36F627B-FD7D-4357-A623-F01AFF78B80D} {D42CE0F0-331F-4E5C-92CD-6B4DD6854E69} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{EAD2F955-88CA-4570-AB81-31FB2FF02605} = {B36F627B-FD7D-4357-A623-F01AFF78B80D} {EAD2F955-88CA-4570-AB81-31FB2FF02605} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB} = {B36F627B-FD7D-4357-A623-F01AFF78B80D} {3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4} = {8F972C8E-F047-4883-A4BF-3423A2BAED36}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1573B900-87BA-4AD3-B785-6DD78127ADEF} SolutionGuid = {1573B900-87BA-4AD3-B785-6DD78127ADEF}

54
aspnet-core/LINGYUN.MicroService.Platform.sln

@ -23,17 +23,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.HttpApi.Ho
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform", "platform", "{4096EC6A-EEAD-4E5B-B087-393D7A4E5874}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform", "platform", "{4096EC6A-EEAD-4E5B-B087-393D7A4E5874}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{C7D0EB39-3418-4A7C-AD94-FAB76F023E88}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{C7D0EB39-3418-4A7C-AD94-FAB76F023E88}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{4D3C1EBD-1A4A-4300-A889-72DA0E082BAE}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain.Shared", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj", "{4D3C1EBD-1A4A-4300-A889-72DA0E082BAE}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain", "modules\file-management\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj", "{D6D4C667-B58C-4266-9929-AFE54C8F0FBA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj", "{D6D4C667-B58C-4266-9929-AFE54C8F0FBA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application.Contracts", "modules\file-management\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj", "{A1561B9D-2EAB-4C6A-AE62-9D517A450D4D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{A1561B9D-2EAB-4C6A-AE62-9D517A450D4D}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application", "modules\file-management\LINGYUN.Abp.FileManagement.Application\LINGYUN.Abp.FileManagement.Application.csproj", "{1C3A25AF-9A59-4532-88A4-E57BECFA7E96}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application", "modules\oss-management\LINGYUN.Abp.OssManagement.Application\LINGYUN.Abp.OssManagement.Application.csproj", "{1C3A25AF-9A59-4532-88A4-E57BECFA7E96}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.HttpApi", "modules\file-management\LINGYUN.Abp.FileManagement.HttpApi\LINGYUN.Abp.FileManagement.HttpApi.csproj", "{C616C167-E5DF-4141-98BE-F98C58890122}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.HttpApi", "modules\oss-management\LINGYUN.Abp.OssManagement.HttpApi\LINGYUN.Abp.OssManagement.HttpApi.csproj", "{C616C167-E5DF-4141-98BE-F98C58890122}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{8CDB2F58-9541-4FB2-8A37-079C5E6A1689}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{8CDB2F58-9541-4FB2-8A37-079C5E6A1689}"
EndProject EndProject
@ -49,7 +49,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.EntityFram
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.Domain.Tests", "tests\LINGYUN.Platform.Domain.Tests\LINGYUN.Platform.Domain.Tests.csproj", "{C60A06F2-0F4C-483F-BE2B-B103F0D726CE}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.Domain.Tests", "tests\LINGYUN.Platform.Domain.Tests\LINGYUN.Platform.Domain.Tests.csproj", "{C60A06F2-0F4C-483F-BE2B-B103F0D726CE}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.Aliyun", "modules\file-management\LINGYUN.Abp.FileManagement.Aliyun\LINGYUN.Abp.FileManagement.Aliyun.csproj", "{104EDC09-0CEA-4AB0-BFF5-B009D4679419}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.Aliyun", "modules\oss-management\LINGYUN.Abp.OssManagement.Aliyun\LINGYUN.Abp.OssManagement.Aliyun.csproj", "{104EDC09-0CEA-4AB0-BFF5-B009D4679419}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{265D5E44-682B-49BC-984A-BDD8CA45E60E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{265D5E44-682B-49BC-984A-BDD8CA45E60E}"
EndProject EndProject
@ -57,7 +57,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun", "modul
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.BlobStoring.Aliyun", "modules\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj", "{95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.BlobStoring.Aliyun", "modules\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj", "{95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.FileSystem", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj", "{B5569DCD-445E-445B-87E7-D8D4E03F0F76}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.FileSystem", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj", "{B5569DCD-445E-445B-87E7-D8D4E03F0F76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem.ImageSharp", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj", "{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Features.LimitValidation", "modules\common\LINGYUN.Abp.Features.LimitValidation\LINGYUN.Abp.Features.LimitValidation.csproj", "{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Features.LimitValidation.Redis", "modules\common\LINGYUN.Abp.Features.LimitValidation.Redis\LINGYUN.Abp.Features.LimitValidation.Redis.csproj", "{644F2582-D655-43B5-9EA4-D010C94B33AF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "setting-management", "setting-management", "{3855CE63-91CF-4F96-97F6-BEAB444B25CB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.SettingManagement.Application.Contracts", "modules\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj", "{D1D288D1-3178-439F-8EFD-E29D6F66E673}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.SettingManagement", "modules\oss-management\LINGYUN.Abp.OssManagement.SettingManagement\LINGYUN.Abp.OssManagement.SettingManagement.csproj", "{07D1B07A-3C95-40A8-AA53-619EC067FD45}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -149,6 +161,26 @@ Global
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Debug|Any CPU.Build.0 = Debug|Any CPU {B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.ActiveCfg = Release|Any CPU {B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.Build.0 = Release|Any CPU {B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.Build.0 = Release|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Release|Any CPU.Build.0 = Release|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Release|Any CPU.Build.0 = Release|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Release|Any CPU.Build.0 = Release|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Release|Any CPU.Build.0 = Release|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Release|Any CPU.ActiveCfg = Release|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -179,6 +211,12 @@ Global
{8A393F7F-85A2-48ED-9B56-9CEFF3BDE34A} = {265D5E44-682B-49BC-984A-BDD8CA45E60E} {8A393F7F-85A2-48ED-9B56-9CEFF3BDE34A} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0} = {265D5E44-682B-49BC-984A-BDD8CA45E60E} {95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{B5569DCD-445E-445B-87E7-D8D4E03F0F76} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88} {B5569DCD-445E-445B-87E7-D8D4E03F0F76} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{644F2582-D655-43B5-9EA4-D010C94B33AF} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{3855CE63-91CF-4F96-97F6-BEAB444B25CB} = {15BDA03E-DE8E-46E4-96A8-CA3F2872E812}
{D1D288D1-3178-439F-8EFD-E29D6F66E673} = {3855CE63-91CF-4F96-97F6-BEAB444B25CB}
{07D1B07A-3C95-40A8-AA53-619EC067FD45} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {03D3B66F-8926-4C00-B7AB-A21761EC859E} SolutionGuid = {03D3B66F-8926-4C00-B7AB-A21761EC859E}

24
aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md

@ -1,3 +1,25 @@
# Oss-Management # Oss-Management
File-Management更名为Oss-Management File-Management更名为Oss-Management
## 模块说明
### 基础模块
* LINGYUN.Abp.OssManagement.Domain.Shared 领域层公共模块,定义了错误代码、本地化、模块设置
* LINGYUN.Abp.OssManagement.Domain 领域层模块,定义了抽象的Oss容器与对象管理接口
* LINGYUN.Abp.OssManagement.Application.Contracts 应用服务层公共模块,定义了管理Oss的外部接口、权限、功能限制策略
* LINGYUN.Abp.OssManagement.Application 应用服务层实现,实现了Oss管理接口
* LINGYUN.Abp.OssManagement.HttpApi RestApi实现,实现了独立的对外RestApi接口
* LINGYUN.Abp.OssManagement.SettingManagement 设置管理模块,对外暴露自身的设置管理,用于网关聚合
### 高阶模块
* LINGYUN.Abp.OssManagement.Aliyun Oss管理的阿里云实现,实现了部分阿里云Oss服务的容器与对象管理
* LINGYUN.Abp.OssManagement.FileSystem Oss管理的本地文件系统实现,实现了部分本地文件系统的容器(目录)与对象(文件/目录)管理
* LINGYUN.Abp.OssManagement.FileSystem.ImageSharp Oss本地对象的ImageSharp扩展,当前端传递需求处理对象时,此模块用于实现基于图形文件流的处理
## 更新日志
*【2021-03-10】 变更FileManagement命名空间为OssManagement

24
aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/README.en.md

@ -1,32 +1,32 @@
English | [简体中文](./README.md) English | [简体中文](./README.md)
# LINGYUN.Abp.Features.LimitValidation # LINGYUN.Abp.Features.LimitValidation
Features limit validation component Features limit validation component
Check the number of function calls defined to limit calls to the application by specific entities (tenants, users, clients, and so on) Check the number of function calls defined to limit calls to the application by specific entities (tenants, users, clients, and so on)
Predefined policy Predefined policy
LimitPolicy.Minute Calculate the flow by the minutes LimitPolicy.Minute Calculate the flow by the minutes
LimitPolicy.Hours Calculate the flow by the hours LimitPolicy.Hours Calculate the flow by the hours
LimitPolicy.Days Calculate the flow by days LimitPolicy.Days Calculate the flow by days
LimitPolicy.Weeks Calculate the flow by weeks LimitPolicy.Weeks Calculate the flow by weeks
LimitPolicy.Month Calculate the flow by the number of month LimitPolicy.Month Calculate the flow by the number of month
LimitPolicy.Years Calculate the flow by the number of years LimitPolicy.Years Calculate the flow by the number of years
## How to use ## How to use
```csharp ```csharp
[DependsOn(typeof(AbpFeaturesLimitValidationModule))] [DependsOn(typeof(AbpFeaturesLimitValidationModule))]
public class YouProjectModule : AbpModule public class YouProjectModule : AbpModule
{ {
// other // other
} }
``` ```
If you want to limit the policy duration by self-processing, override the default policy for the corresponding policy and always return a clock scale in seconds If you want to limit the policy duration by self-processing, override the default policy for the corresponding policy and always return a clock scale in seconds
```csharp ```csharp
[DependsOn(typeof(AbpFeaturesLimitValidationModule))] [DependsOn(typeof(AbpFeaturesLimitValidationModule))]

20
aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/README.md

@ -2,18 +2,18 @@
# LINGYUN.Abp.Features.LimitValidation # LINGYUN.Abp.Features.LimitValidation
功能上限验证组件 功能上限验证组件
检查定义的功能调用次数,来限制特定的实体(租户、用户、客户端等)对于应用程序的调用 检查定义的功能调用次数,来限制特定的实体(租户、用户、客户端等)对于应用程序的调用
预先设定了如下几个策略 预先设定了如下几个策略
LimitPolicy.Minute 按分钟计算流量 LimitPolicy.Minute 按分钟计算流量
LimitPolicy.Hours 按小时计算流量 LimitPolicy.Hours 按小时计算流量
LimitPolicy.Days 按天数计算流量 LimitPolicy.Days 按天数计算流量
LimitPolicy.Weeks 按周数计算流量 LimitPolicy.Weeks 按周数计算流量
LimitPolicy.Month 按月数计算流量 LimitPolicy.Month 按月数计算流量
LimitPolicy.Years 按年数计算流量 LimitPolicy.Years 按年数计算流量
## 配置使用 ## 配置使用
@ -26,7 +26,7 @@ public class YouProjectModule : AbpModule
} }
``` ```
如果需要自行处理功能限制策略时长,请覆盖对应策略的默认策略,返回的时钟刻度单位始终是秒 如果需要自行处理功能限制策略时长,请覆盖对应策略的默认策略,返回的时钟刻度单位始终是秒
```csharp ```csharp
[DependsOn(typeof(AbpFeaturesLimitValidationModule))] [DependsOn(typeof(AbpFeaturesLimitValidationModule))]

12
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationContractsModule.cs

@ -1,12 +0,0 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpFileManagementDomainSharedModule),
typeof(AbpDddApplicationModule))]
public class AbpFileManagementApplicationContractsModule : AbpModule
{
}
}

49
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureDefinitionProvider.cs

@ -1,49 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace LINGYUN.Abp.FileManagement.Features
{
public class AbpFileManagementFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var featureGroup = context.AddGroup(
name: AbpFileManagementFeatureNames.GroupName,
displayName: L("Features:FileManagement"));
var fileSystemFeature = featureGroup.AddFeature(
name: AbpFileManagementFeatureNames.FileSystem.Default,
displayName: L("Features:DisplayName:FileSystem"),
description: L("Features:Description:FileSystem"));
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.DownloadFile,
defaultValue: false.ToString(),
displayName: L("Features:DisplayName:DownloadFile"),
description: L("Features:Description:DownloadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.UploadFile,
defaultValue: true.ToString(),
displayName: L("Features:DisplayName:UploadFile"),
description: L("Features:Description:UploadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
// TODO: 此功能需要控制器协同,暂时不实现
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.MaxUploadFileCount,
defaultValue: 1.ToString(),
displayName: L("Features:DisplayName:MaxUploadFileCount"),
description: L("Features:Description:MaxUploadFileCount"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 10)));
}
protected ILocalizableString L(string name)
{
return LocalizableString.Create<AbpFileManagementResource>(name);
}
}
}

23
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureNames.cs

@ -1,23 +0,0 @@
namespace LINGYUN.Abp.FileManagement.Features
{
public class AbpFileManagementFeatureNames
{
public const string GroupName = "Abp.FileManagement";
public class FileSystem
{
public const string Default = GroupName + ".FileSystem";
/// <summary>
/// 下载文件功能
/// </summary>
public const string DownloadFile = Default + ".DownloadFile";
/// <summary>
/// 上传文件功能
/// </summary>
public const string UploadFile = Default + ".UploadFile";
/// <summary>
/// 最大上传文件
/// </summary>
public const string MaxUploadFileCount = Default + ".MaxUploadFileCount";
}
}
}

34
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissionDefinitionProvider.cs

@ -1,34 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace LINGYUN.Abp.FileManagement.Permissions
{
public class AbpFileManagementPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var fileManagement = context.AddGroup(AbpFileManagementPermissions.GroupName, L("Permission:FileManagement"));
var fileSystem = fileManagement.AddPermission(AbpFileManagementPermissions.FileSystem.Default, L("Permission:FileSystem"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Create, L("Permission:CreateFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Delete, L("Permission:DeleteFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Update, L("Permission:UpdateFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Copy, L("Permission:CopyFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Move, L("Permission:MoveFolder"));
var fileManager = fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Default, L("Permission:FileManager"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Create, L("Permission:AppendFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Update, L("Permission:UpdateFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Delete, L("Permission:DeleteFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Copy, L("Permission:CopyFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Move, L("Permission:MoveFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Download, L("Permission:DownloadFile"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpFileManagementResource>(name);
}
}
}

44
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissions.cs

@ -1,44 +0,0 @@
namespace LINGYUN.Abp.FileManagement.Permissions
{
public class AbpFileManagementPermissions
{
public const string GroupName = "AbpFileManagement";
/// <summary>
/// 文件系统
/// </summary>
public class FileSystem
{
public const string Default = GroupName + ".FileSystem";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
public const string Update = Default + ".Update";
public const string Copy = Default + ".Copy";
public const string Move = Default + ".Move";
/// <summary>
/// 文件管理
/// </summary>
public class FileManager
{
public const string Default = FileSystem.Default + ".FileManager";
public const string Create = Default + ".Create";
public const string Copy = Default + ".Copy";
public const string Delete = Default + ".Delete";
public const string Update = Default + ".Update";
public const string Move = Default + ".Move";
public const string Download = Default + ".Download";
}
}
}
}

23
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationModule.cs

@ -1,23 +0,0 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Microsoft.Extensions.DependencyInjection;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpAutoMapperModule),
typeof(AbpFileManagementDomainModule),
typeof(AbpFileManagementApplicationContractsModule))]
public class AbpFileManagementApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<AbpFileManagementApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<FileManagementApplicationAutoMapperProfile>(validate: true);
});
}
}
}

13
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationServiceBase.cs

@ -1,13 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
{
public class FileManagementApplicationServiceBase : ApplicationService
{
protected FileManagementApplicationServiceBase()
{
LocalizationResource = typeof(AbpFileManagementResource);
}
}
}

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/AbpFileManagementResource.cs

@ -1,9 +0,0 @@
using Volo.Abp.Localization;
namespace LINGYUN.Abp.FileManagement.Localization
{
[LocalizationResourceName("AbpFileManagement")]
public class AbpFileManagementResource
{
}
}

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementContainer.cs

@ -1,9 +0,0 @@
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.FileManagement
{
[BlobContainerName("abp-file-management")]
public class AbpFileManagementContainer
{
}
}

15
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementDomainModule.cs

@ -1,15 +0,0 @@
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpDddDomainModule),
typeof(AbpMultiTenancyModule),
typeof(AbpFileManagementDomainSharedModule)
)]
public class AbpFileManagementDomainModule : AbpModule
{
}
}

18
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssProviderArgs.cs

@ -1,18 +0,0 @@
using System.Threading;
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.FileManagement.FileSystem
{
public class FileSystemOssProviderArgs : BlobProviderArgs
{
public FileSystemOssProviderArgs(
string containerName,
BlobContainerConfiguration configuration,
string blobName,
CancellationToken cancellationToken = default)
: base(containerName, configuration, blobName, cancellationToken)
{
}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN.Abp.FileManagement.Aliyun.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN.Abp.OssManagement.Aliyun.csproj

@ -7,7 +7,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj" /> <ProjectReference Include="..\..\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AbpFileManagementAliyunModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AbpOssManagementAliyunModule.cs

@ -2,12 +2,12 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.Aliyun namespace LINGYUN.Abp.OssManagement.Aliyun
{ {
[DependsOn( [DependsOn(
typeof(AbpBlobStoringAliyunModule), typeof(AbpBlobStoringAliyunModule),
typeof(AbpFileManagementDomainModule))] typeof(AbpOssManagementDomainModule))]
public class AbpFileManagementAliyunModule : AbpModule public class AbpOssManagementAliyunModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AliyunOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainer.cs

@ -8,7 +8,7 @@ using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun namespace LINGYUN.Abp.OssManagement.Aliyun
{ {
/// <summary> /// <summary>
/// Oss容器的阿里云实现 /// Oss容器的阿里云实现
@ -40,7 +40,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (BucketExists(ossClient, name)) if (BucketExists(ossClient, name))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerAlreadyExists); throw new BusinessException(code: OssManagementErrorCodes.ContainerAlreadyExists);
} }
var bucket = ossClient.CreateBucket(name); var bucket = ossClient.CreateBucket(name);
@ -69,7 +69,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (ObjectExists(ossClient, request.Bucket, objectName)) if (ObjectExists(ossClient, request.Bucket, objectName))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists); throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
} }
// 当一个对象名称是以 / 结尾时,不论该对象是否存有数据,都以目录的形式存在 // 当一个对象名称是以 / 结尾时,不论该对象是否存有数据,都以目录的形式存在
@ -151,7 +151,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (objectListing.CommonPrefixes.Any() || if (objectListing.CommonPrefixes.Any() ||
objectListing.ObjectSummaries.Any()) objectListing.ObjectSummaries.Any())
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectDeleteWithNotEmpty); throw new BusinessException(code: OssManagementErrorCodes.ObjectDeleteWithNotEmpty);
// throw new ObjectDeleteWithNotEmptyException("00201", $"Can't not delete oss object {request.Object}, because it is not empty!"); // throw new ObjectDeleteWithNotEmptyException("00201", $"Can't not delete oss object {request.Object}, because it is not empty!");
} }
ossClient.DeleteObject(request.Bucket, objectName); ossClient.DeleteObject(request.Bucket, objectName);
@ -170,7 +170,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync(); var ossClient = await CreateClientAsync();
if (!BucketExists(ossClient, name)) if (!BucketExists(ossClient, name))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound); throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {name} in aliyun blob storing"); // throw new ContainerNotFoundException($"Can't not found container {name} in aliyun blob storing");
} }
var bucket = ossClient.GetBucketInfo(name); var bucket = ossClient.GetBucketInfo(name);
@ -192,7 +192,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync(); var ossClient = await CreateClientAsync();
if (!BucketExists(ossClient, request.Bucket)) if (!BucketExists(ossClient, request.Bucket))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound); throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {request.Bucket} in aliyun blob storing"); // throw new ContainerNotFoundException($"Can't not found container {request.Bucket} in aliyun blob storing");
} }
@ -203,7 +203,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (!ObjectExists(ossClient, request.Bucket, objectName)) if (!ObjectExists(ossClient, request.Bucket, objectName))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectNotFound); throw new BusinessException(code: OssManagementErrorCodes.ObjectNotFound);
// throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with aliyun blob storing"); // throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with aliyun blob storing");
} }
@ -363,7 +363,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
protected virtual async Task<IOss> CreateClientAsync() protected virtual async Task<IOss> CreateClientAsync()
{ {
return await OssClientFactory.CreateAsync<AbpFileManagementContainer>(); return await OssClientFactory.CreateAsync<AbpOssManagementContainer>();
} }
} }
} }

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AliyunOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainerFactory.cs

@ -1,7 +1,7 @@
using LINGYUN.Abp.BlobStoring.Aliyun; using LINGYUN.Abp.BlobStoring.Aliyun;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun namespace LINGYUN.Abp.OssManagement.Aliyun
{ {
public class AliyunOssContainerFactory : IOssContainerFactory public class AliyunOssContainerFactory : IOssContainerFactory
{ {

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/README.md

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN.Abp.OssManagement.Application.Contracts.csproj

@ -12,7 +12,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

12
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationContractsModule.cs

@ -0,0 +1,12 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpOssManagementDomainSharedModule),
typeof(AbpDddApplicationModule))]
public class AbpOssManagementApplicationContractsModule : AbpModule
{
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/BulkDeleteOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/BulkDeleteOssObjectInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class BulkDeleteOssObjectInput public class BulkDeleteOssObjectInput
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/CreateOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/CreateOssObjectInput.cs

@ -3,7 +3,7 @@ using System.IO;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.Validation; using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class CreateOssObjectInput public class CreateOssObjectInput
{ {

73
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureDefinitionProvider.cs

@ -0,0 +1,73 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace LINGYUN.Abp.OssManagement.Features
{
public class AbpOssManagementFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var featureGroup = context.AddGroup(
name: AbpOssManagementFeatureNames.GroupName,
displayName: L("Features:OssManagement"));
var ossFeature = featureGroup.AddFeature(
name: AbpOssManagementFeatureNames.OssObject.Default,
displayName: L("Features:DisplayName:OssObject"),
description: L("Features:Description:OssObject"));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadFile,
defaultValue: false.ToString(),
displayName: L("Features:DisplayName:DownloadFile"),
description: L("Features:Description:DownloadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadLimit,
defaultValue: "1000",
displayName: L("Features:DisplayName:DownloadLimit"),
description: L("Features:Description:DownloadLimit"),
valueType: new FreeTextStringValueType(new NumericValueValidator(0, 100_0000))); // 上限100万次调用
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadInterval,
defaultValue: "1",
displayName: L("Features:DisplayName:DownloadInterval"),
description: L("Features:Description:DownloadInterval"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 12))); // 上限12月
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadFile,
defaultValue: true.ToString(),
displayName: L("Features:DisplayName:UploadFile"),
description: L("Features:Description:UploadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadLimit,
defaultValue: "1000",
displayName: L("Features:DisplayName:UploadLimit"),
description: L("Features:Description:UploadLimit"),
valueType: new FreeTextStringValueType(new NumericValueValidator(0, 100_0000))); // 上限100万次调用
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadInterval,
defaultValue: "1",
displayName: L("Features:DisplayName:UploadInterval"),
description: L("Features:Description:UploadInterval"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 12))); // 上限12月
// TODO: 此功能需要控制器协同,暂时不实现
//fileSystemFeature.CreateChild(
// name: AbpOssManagementFeatureNames.OssObject.MaxUploadFileCount,
// defaultValue: 1.ToString(),
// displayName: L("Features:DisplayName:MaxUploadFileCount"),
// description: L("Features:Description:MaxUploadFileCount"),
// valueType: new FreeTextStringValueType(new NumericValueValidator(1, 10)));
}
protected ILocalizableString L(string name)
{
return LocalizableString.Create<AbpOssManagementResource>(name);
}
}
}

41
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureNames.cs

@ -0,0 +1,41 @@
namespace LINGYUN.Abp.OssManagement.Features
{
public class AbpOssManagementFeatureNames
{
public const string GroupName = "AbpOssManagement";
public class OssObject
{
public const string Default = GroupName + ".OssObject";
/// <summary>
/// 下载文件功能
/// </summary>
public const string DownloadFile = Default + ".DownloadFile";
/// <summary>
/// 下载文件功能限制次数
/// </summary>
public const string DownloadLimit = Default + ".DownloadLimit";
/// <summary>
/// 下载文件功能限制次数周期
/// </summary>
public const string DownloadInterval = Default + ".DownloadInterval";
/// <summary>
/// 上传文件功能
/// </summary>
public const string UploadFile = Default + ".UploadFile";
/// <summary>
/// 上传文件功能限制次数
/// </summary>
public const string UploadLimit = Default + ".UploadLimit";
/// <summary>
/// 上传文件功能限制次数周期
/// </summary>
public const string UploadInterval = Default + ".UploadInterval";
/// <summary>
/// 最大上传文件
/// </summary>
public const string MaxUploadFileCount = Default + ".MaxUploadFileCount";
}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssContainersInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssContainersInput.cs

@ -1,6 +1,6 @@
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssContainersInput : PagedAndSortedResultRequestDto public class GetOssContainersInput : PagedAndSortedResultRequestDto
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssObjectInput public class GetOssObjectInput
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssObjectsInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectsInput.cs

@ -1,6 +1,6 @@
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssObjectsInput : PagedAndSortedResultRequestDto public class GetOssObjectsInput : PagedAndSortedResultRequestDto
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetStaticFileInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetStaticFileInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetStaticFileInput public class GetStaticFileInput
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IOssContainerAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssContainerAppService.cs

@ -1,7 +1,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public interface IOssContainerAppService: IApplicationService public interface IOssContainerAppService: IApplicationService
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IOssObjectAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssObjectAppService.cs

@ -1,7 +1,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public interface IOssObjectAppService : IApplicationService public interface IOssObjectAppService : IApplicationService
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IStaticFilesAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IStaticFilesAppService.cs

@ -2,7 +2,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public interface IStaticFilesAppService: IApplicationService public interface IStaticFilesAppService: IApplicationService
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssContainerDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainerDto.cs

@ -1,7 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssContainerDto public class OssContainerDto
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssContainersResultDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainersResultDto.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssContainersResultDto public class OssContainersResultDto
{ {

7
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssManagementRemoteServiceConsts.cs

@ -0,0 +1,7 @@
namespace LINGYUN.Abp.OssManagement
{
public static class OssManagementRemoteServiceConsts
{
public const string RemoteServiceName = "AbpOssManagement";
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssObjectDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectDto.cs

@ -1,7 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssObjectDto public class OssObjectDto
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssObjectsResultDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectsResultDto.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssObjectsResultDto public class OssObjectsResultDto
{ {

27
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissionDefinitionProvider.cs

@ -0,0 +1,27 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace LINGYUN.Abp.OssManagement.Permissions
{
public class AbpOssManagementPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var ossManagement = context.AddGroup(AbpOssManagementPermissions.GroupName, L("Permission:OssManagement"));
var container = ossManagement.AddPermission(AbpOssManagementPermissions.Container.Default, L("Permission:Container"));
container.AddChild(AbpOssManagementPermissions.Container.Create, L("Permission:Create"));
container.AddChild(AbpOssManagementPermissions.Container.Delete, L("Permission:Delete"));
var ossobject = ossManagement.AddPermission(AbpOssManagementPermissions.OssObject.Default, L("Permission:OssObject"));
ossobject.AddChild(AbpOssManagementPermissions.OssObject.Create, L("Permission:Create"));
ossobject.AddChild(AbpOssManagementPermissions.OssObject.Delete, L("Permission:Delete"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpOssManagementResource>(name);
}
}
}

27
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissions.cs

@ -0,0 +1,27 @@
namespace LINGYUN.Abp.OssManagement.Permissions
{
public class AbpOssManagementPermissions
{
public const string GroupName = "AbpOssManagement";
public class Container
{
public const string Default = GroupName + ".Container";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
}
public class OssObject
{
public const string Default = GroupName + ".OssObject";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
public const string Download = Default + ".Download";
}
}
}

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN.Abp.FileManagement.Application.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN.Abp.OssManagement.Application.csproj

@ -12,8 +12,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

23
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationModule.cs

@ -0,0 +1,23 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Microsoft.Extensions.DependencyInjection;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpAutoMapperModule),
typeof(AbpOssManagementDomainModule),
typeof(AbpOssManagementApplicationContractsModule))]
public class AbpOssManagementApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<AbpOssManagementApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<OssManagementApplicationAutoMapperProfile>(validate: true);
});
}
}
}

11
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/OssContainerAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssContainerAppService.cs

@ -1,10 +1,11 @@
using System.Collections.Generic; using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssContainerAppService : FileManagementApplicationServiceBase, IOssContainerAppService [Authorize(AbpOssManagementPermissions.Container.Default)]
public class OssContainerAppService : OssManagementApplicationServiceBase, IOssContainerAppService
{ {
protected IOssContainerFactory OssContainerFactory { get; } protected IOssContainerFactory OssContainerFactory { get; }
@ -14,6 +15,7 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory; OssContainerFactory = ossContainerFactory;
} }
[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();
@ -22,6 +24,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssContainer, OssContainerDto>(container); return ObjectMapper.Map<OssContainer, OssContainerDto>(container);
} }
[Authorize(AbpOssManagementPermissions.Container.Delete)]
public virtual async Task DeleteAsync(string name) public virtual async Task DeleteAsync(string name)
{ {
var oss = CreateOssContainer(); var oss = CreateOssContainer();

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationAutoMapperProfile.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationAutoMapperProfile.cs

@ -1,10 +1,10 @@
using AutoMapper; using AutoMapper;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class FileManagementApplicationAutoMapperProfile : Profile public class OssManagementApplicationAutoMapperProfile : Profile
{ {
public FileManagementApplicationAutoMapperProfile() public OssManagementApplicationAutoMapperProfile()
{ {
CreateMap<OssContainer, OssContainerDto>(); CreateMap<OssContainer, OssContainerDto>();
CreateMap<OssObject, OssObjectDto>() CreateMap<OssObject, OssObjectDto>()

14
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationServiceBase.cs

@ -0,0 +1,14 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.OssManagement
{
public class OssManagementApplicationServiceBase : ApplicationService
{
protected OssManagementApplicationServiceBase()
{
LocalizationResource = typeof(AbpOssManagementResource);
ObjectMapperContext = typeof(AbpOssManagementApplicationModule);
}
}
}

27
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/OssObjectAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs

@ -1,18 +1,23 @@
using LINGYUN.Abp.FileManagement.Settings; using LINGYUN.Abp.Features.LimitValidation;
using LINGYUN.Abp.OssManagement.Features;
using LINGYUN.Abp.OssManagement.Permissions;
using LINGYUN.Abp.OssManagement.Settings;
using Microsoft.AspNetCore.Authorization;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp.Features;
using Volo.Abp.IO; using Volo.Abp.IO;
using Volo.Abp.Settings; using Volo.Abp.Settings;
using Volo.Abp.Validation; using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssObjectAppService : FileManagementApplicationServiceBase, IOssObjectAppService [Authorize(AbpOssManagementPermissions.OssObject.Default)]
public class OssObjectAppService : OssManagementApplicationServiceBase, IOssObjectAppService
{ {
protected IOssContainerFactory OssContainerFactory { get; } protected IOssContainerFactory OssContainerFactory { get; }
@ -22,6 +27,12 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory; OssContainerFactory = ossContainerFactory;
} }
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.UploadFile)]
[RequiresLimitFeature(
AbpOssManagementFeatureNames.OssObject.UploadLimit,
AbpOssManagementFeatureNames.OssObject.UploadInterval,
LimitPolicy.Month)]
public virtual async Task<OssObjectDto> CreateAsync(CreateOssObjectInput input) public virtual async Task<OssObjectDto> CreateAsync(CreateOssObjectInput input)
{ {
if (!input.Content.IsNullOrEmpty()) if (!input.Content.IsNullOrEmpty())
@ -29,8 +40,8 @@ namespace LINGYUN.Abp.FileManagement
// 检查文件大小 // 检查文件大小
var fileSizeLimited = await SettingProvider var fileSizeLimited = await SettingProvider
.GetAsync( .GetAsync(
AbpFileManagementSettingNames.FileLimitLength, AbpOssManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength); AbpOssManagementSettingNames.DefaultFileLimitLength);
if (fileSizeLimited * 1024 * 1024 < input.Content.Length) if (fileSizeLimited * 1024 * 1024 < input.Content.Length)
{ {
ThrowValidationException(L["UploadFileSizeBeyondLimit", fileSizeLimited], nameof(input.Content)); ThrowValidationException(L["UploadFileSizeBeyondLimit", fileSizeLimited], nameof(input.Content));
@ -38,7 +49,7 @@ namespace LINGYUN.Abp.FileManagement
// 文件扩展名 // 文件扩展名
var fileExtensionName = FileHelper.GetExtension(input.Object); var fileExtensionName = FileHelper.GetExtension(input.Object);
var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpFileManagementSettingNames.AllowFileExtensions); var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpOssManagementSettingNames.AllowFileExtensions);
// 检查文件扩展名 // 检查文件扩展名
if (!fileAllowExtension.Split(',') if (!fileAllowExtension.Split(',')
.Any(fe => fe.Equals(fileExtensionName, StringComparison.CurrentCultureIgnoreCase))) .Any(fe => fe.Equals(fileExtensionName, StringComparison.CurrentCultureIgnoreCase)))
@ -60,6 +71,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject); return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
} }
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task BulkDeleteAsync(BulkDeleteOssObjectInput input) public virtual async Task BulkDeleteAsync(BulkDeleteOssObjectInput input)
{ {
var oss = CreateOssContainer(); var oss = CreateOssContainer();
@ -67,6 +79,7 @@ namespace LINGYUN.Abp.FileManagement
await oss.BulkDeleteObjectsAsync(input.Bucket, input.Objects, input.Path); await oss.BulkDeleteObjectsAsync(input.Bucket, input.Objects, input.Path);
} }
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task DeleteAsync(GetOssObjectInput input) public virtual async Task DeleteAsync(GetOssObjectInput input)
{ {
var oss = CreateOssContainer(); var oss = CreateOssContainer();

14
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/StaticFilesAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/StaticFilesAppService.cs

@ -1,10 +1,13 @@
using System.IO; using LINGYUN.Abp.Features.LimitValidation;
using LINGYUN.Abp.OssManagement.Features;
using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web; using System.Web;
using Volo.Abp.Features;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class StaticFilesAppService : FileManagementApplicationServiceBase, IStaticFilesAppService public class StaticFilesAppService : OssManagementApplicationServiceBase, IStaticFilesAppService
{ {
protected IOssContainerFactory OssContainerFactory { get; } protected IOssContainerFactory OssContainerFactory { get; }
@ -14,6 +17,11 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory; OssContainerFactory = ossContainerFactory;
} }
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.DownloadFile)]
[RequiresLimitFeature(
AbpOssManagementFeatureNames.OssObject.DownloadLimit,
AbpOssManagementFeatureNames.OssObject.DownloadInterval,
LimitPolicy.Month)]
public virtual async Task<Stream> GetAsync(GetStaticFileInput input) public virtual async Task<Stream> GetAsync(GetStaticFileInput input)
{ {
var ossObjectRequest = new GetOssObjectRequest( var ossObjectRequest = new GetOssObjectRequest(

8
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN.Abp.OssManagement.Domain.Shared.csproj

@ -8,13 +8,13 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

14
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/AbpFileManagementDomainSharedModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/AbpOssManagementDomainSharedModule.cs

@ -1,4 +1,4 @@
using LINGYUN.Abp.FileManagement.Localization; using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling; using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -6,30 +6,30 @@ using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization; using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
[DependsOn(typeof(AbpValidationModule))] [DependsOn(typeof(AbpValidationModule))]
public class AbpFileManagementDomainSharedModule : AbpModule public class AbpOssManagementDomainSharedModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
Configure<AbpVirtualFileSystemOptions>(options => Configure<AbpVirtualFileSystemOptions>(options =>
{ {
options.FileSets.AddEmbedded<AbpFileManagementDomainSharedModule>(); options.FileSets.AddEmbedded<AbpOssManagementDomainSharedModule>();
}); });
Configure<AbpLocalizationOptions>(options => Configure<AbpLocalizationOptions>(options =>
{ {
options.Resources options.Resources
.Add<AbpFileManagementResource>("en") .Add<AbpOssManagementResource>("en")
.AddBaseTypes( .AddBaseTypes(
typeof(AbpValidationResource) typeof(AbpValidationResource)
).AddVirtualJson("/LINGYUN/Abp/FileManagement/Localization/Resources"); ).AddVirtualJson("/LINGYUN/Abp/OssManagement/Localization/Resources");
}); });
Configure<AbpExceptionLocalizationOptions>(options => Configure<AbpExceptionLocalizationOptions>(options =>
{ {
options.MapCodeNamespace(FileManagementErrorCodes.Namespace, typeof(AbpFileManagementResource)); options.MapCodeNamespace(OssManagementErrorCodes.Namespace, typeof(AbpOssManagementResource));
}); });
} }
} }

9
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/AbpOssManagementResource.cs

@ -0,0 +1,9 @@
using Volo.Abp.Localization;
namespace LINGYUN.Abp.OssManagement.Localization
{
[LocalizationResourceName("AbpOssManagement")]
public class AbpOssManagementResource
{
}
}

33
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/Resources/en.json → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/en.json

@ -8,20 +8,13 @@
"Abp.FileManagement:020402": "The object name already exists!", "Abp.FileManagement:020402": "The object name already exists!",
"Abp.FileManagement:020404": "The queried object could not be found!", "Abp.FileManagement:020404": "The queried object could not be found!",
"Abp.FileManagement:000405": "The path object name has exceeded the allowable maximum length and cannot continue to create a new object!", "Abp.FileManagement:000405": "The path object name has exceeded the allowable maximum length and cannot continue to create a new object!",
"Permission:FileManagement": "File management", "Permission:OssManagement": "Object Storage",
"Permission:FileSystem": "File system", "Permission:Container": "Containers",
"Permission:FileManager": "Files", "Permission:OssObject": "Objects",
"Permission:CreateFolder": "Create directory", "Permission:Create": "Create",
"Permission:DeleteFolder": "Delete directory", "Permission:Delete": "Delete",
"Permission:UpdateFolder": "Edit directory", "Permission:Upload": "Upload",
"Permission:MoveFolder": "Change directory", "Permission:Download": "Download",
"Permission:CopyFolder": "Copy directory",
"Permission:AppendFile": "Add files",
"Permission:UpdateFile": "Change file",
"Permission:DeleteFile": "Delete file",
"Permission:CopyFile": "Copy file",
"Permission:MoveFile": "Move file",
"Permission:DownloadFile": "Download file",
"FileNotFound": "The specified file does not exist!", "FileNotFound": "The specified file does not exist!",
"PathNotFound": "The specified directory does not exist!", "PathNotFound": "The specified directory does not exist!",
"FilePathNotFound": "The file or directory does not exist!", "FilePathNotFound": "The file or directory does not exist!",
@ -30,6 +23,10 @@
"FilePathAlreadyExists": "The same file or directory already exists in the specified path!", "FilePathAlreadyExists": "The same file or directory already exists in the specified path!",
"UploadFileSizeBeyondLimit": "Upload file size cannot exceed {0} MB!", "UploadFileSizeBeyondLimit": "Upload file size cannot exceed {0} MB!",
"NotAllowedFileExtensionName": "Not allowed file extension: {0}!", "NotAllowedFileExtensionName": "Not allowed file extension: {0}!",
"DisplayName:OssManagement": "Object Storage",
"Description:OssManagement": "Object Storage",
"DisplayName:OssObject": "Objects",
"Description:OssObject": "Objects",
"DisplayName:FileLimitLength": "File limit size", "DisplayName:FileLimitLength": "File limit size",
"Description:FileLimitLength": "Limit size of uploaded file in MB", "Description:FileLimitLength": "Limit size of uploaded file in MB",
"DisplayName:AllowFileExtensions": "File extension", "DisplayName:AllowFileExtensions": "File extension",
@ -38,8 +35,16 @@
"Features:DisplayName:FileSystem": "File system", "Features:DisplayName:FileSystem": "File system",
"Features:DisplayName:DownloadFile": "Download file", "Features:DisplayName:DownloadFile": "Download file",
"Features:Description:DownloadFile": "Whether to allow users to download files", "Features:Description:DownloadFile": "Whether to allow users to download files",
"Features:DisplayName:DownloadLimit": "Limit Of Downloads",
"Features:Description:DownloadLimit": "Limits the total number of times a file is downloaded within a specified period",
"Features:DisplayName:DownloadInterval": "Limit Downloads Interval",
"Features:Description:DownloadInterval": "The update period that limits the number of files downloaded. The time scale is: month. Default: 1",
"Features:DisplayName:UploadFile": "Upload file", "Features:DisplayName:UploadFile": "Upload file",
"Features:Description:UploadFile": "Whether to allow users to upload files", "Features:Description:UploadFile": "Whether to allow users to upload files",
"Features:DisplayName:UploadLimit": "Limit Of Uploads",
"Features:Description:UploadLimit": "Limits the total number of file uploads within a specified period",
"Features:DisplayName:UploadInterval": "Limit Uploads Interval",
"Features:Description:UploadInterval": "The update period that limits the number of files uploaded. The time scale is: month. Default: 1",
"Features:DisplayName:MaxUploadFileCount": "Maximum number of upload files", "Features:DisplayName:MaxUploadFileCount": "Maximum number of upload files",
"Features:Description:MaxUploadFileCount": "Limit the number of files a user uploads at a time" "Features:Description:MaxUploadFileCount": "Limit the number of files a user uploads at a time"
} }

37
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/Resources/zh-Hans.json → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/zh-Hans.json

@ -8,20 +8,13 @@
"Abp.FileManagement:020402": "对象名称已经存在!", "Abp.FileManagement:020402": "对象名称已经存在!",
"Abp.FileManagement:020404": "未能找到查询的对象!", "Abp.FileManagement:020404": "未能找到查询的对象!",
"Abp.FileManagement:000405": "此路径对象名称已超出允许的最大长度,无法继续创建新对象!", "Abp.FileManagement:000405": "此路径对象名称已超出允许的最大长度,无法继续创建新对象!",
"Permission:FileManagement": "文件管理", "Permission:OssManagement": "对象存储",
"Permission:FileSystem": "文件系统", "Permission:Container": "容器管理",
"Permission:FileManager": "文件", "Permission:OssObject": "对象管理",
"Permission:CreateFolder": "创建目录", "Permission:Create": "新增",
"Permission:DeleteFolder": "删除目录", "Permission:Delete": "删除",
"Permission:UpdateFolder": "修改目录", "Permission:Upload": "上传",
"Permission:MoveFolder": "变更目录", "Permission:Download": "下载",
"Permission:CopyFolder": "复制目录",
"Permission:AppendFile": "添加文件",
"Permission:UpdateFile": "变更文件",
"Permission:DeleteFile": "删除文件",
"Permission:CopyFile": "复制文件",
"Permission:MoveFile": "移动文件",
"Permission:DownloadFile": "下载文件",
"FileNotFound": "指定的文件不存在!", "FileNotFound": "指定的文件不存在!",
"PathNotFound": "指定的目录不存在!", "PathNotFound": "指定的目录不存在!",
"FilePathNotFound": "文件或目录不存在!", "FilePathNotFound": "文件或目录不存在!",
@ -30,16 +23,28 @@
"FilePathAlreadyExists": "指定的路径中已经有相同的文件或目录存在!", "FilePathAlreadyExists": "指定的路径中已经有相同的文件或目录存在!",
"UploadFileSizeBeyondLimit": "上传文件大小不能超过 {0} MB!", "UploadFileSizeBeyondLimit": "上传文件大小不能超过 {0} MB!",
"NotAllowedFileExtensionName": "不被允许的文件扩展名: {0}!", "NotAllowedFileExtensionName": "不被允许的文件扩展名: {0}!",
"DisplayName:OssManagement": "对象存储",
"Description:OssManagement": "对象存储",
"DisplayName:OssObject": "Oss对象",
"Description:OssObject": "Oss对象",
"DisplayName:FileLimitLength": "文件限制大小", "DisplayName:FileLimitLength": "文件限制大小",
"Description:FileLimitLength": "上传文件的限制大小,单位(MB)", "Description:FileLimitLength": "上传文件的限制大小,单位(MB)",
"DisplayName:AllowFileExtensions": "文件扩展名", "DisplayName:AllowFileExtensions": "文件扩展名",
"Description:AllowFileExtensions": "允许的上传文件扩展名列表,多个扩展名以,分隔,无需输入.符号", "Description:AllowFileExtensions": "允许的上传文件扩展名列表,多个扩展名以,分隔,无需输入.符号",
"Features:FileManagement": "文件管理", "Features:OssManagement": "对象存储",
"Features:DisplayName:FileSystem": "文件系统", "Features:DisplayName:OssObject": "Oss管理",
"Features:DisplayName:DownloadFile": "下载文件", "Features:DisplayName:DownloadFile": "下载文件",
"Features:Description:DownloadFile": "是否允许用户下载文件", "Features:Description:DownloadFile": "是否允许用户下载文件",
"Features:DisplayName:DownloadLimit": "限制下载文件次数",
"Features:Description:DownloadLimit": "在指定的周期内限制下载文件的总次数",
"Features:DisplayName:DownloadInterval": "限制下载文件周期",
"Features:Description:DownloadInterval": "限制下载文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName:UploadFile": "上传文件", "Features:DisplayName:UploadFile": "上传文件",
"Features:Description:UploadFile": "是否允许用户上传文件", "Features:Description:UploadFile": "是否允许用户上传文件",
"Features:DisplayName:UploadLimit": "限制上传文件次数",
"Features:Description:UploadLimit": "在指定的周期内限制上传文件的总次数",
"Features:DisplayName:UploadInterval": "限制上传文件周期",
"Features:Description:UploadInterval": "限制上传文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName:MaxUploadFileCount": "上传文件数量", "Features:DisplayName:MaxUploadFileCount": "上传文件数量",
"Features:Description:MaxUploadFileCount": "用户单次上传文件的限制数量" "Features:Description:MaxUploadFileCount": "用户单次上传文件的限制数量"
} }

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/FileManagementErrorCodes.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/OssManagementErrorCodes.cs

@ -1,8 +1,8 @@
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public static class FileManagementErrorCodes public static class OssManagementErrorCodes
{ {
public const string Namespace = "Abp.FileManagement"; public const string Namespace = "Abp.OssManagement";
public const string ContainerDeleteWithNotEmpty = Namespace + ":010001"; public const string ContainerDeleteWithNotEmpty = Namespace + ":010001";
public const string ContainerAlreadyExists = Namespace + ":010402"; public const string ContainerAlreadyExists = Namespace + ":010402";

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Settings/AbpFileManagementSettingDefinitionProvider.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingDefinitionProvider.cs

@ -1,10 +1,10 @@
using LINGYUN.Abp.FileManagement.Localization; using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Settings; using Volo.Abp.Settings;
namespace LINGYUN.Abp.FileManagement.Settings namespace LINGYUN.Abp.OssManagement.Settings
{ {
public class AbpFileManagementSettingDefinitionProvider : SettingDefinitionProvider public class AbpOssManagementSettingDefinitionProvider : SettingDefinitionProvider
{ {
public override void Define(ISettingDefinitionContext context) public override void Define(ISettingDefinitionContext context)
{ {
@ -16,8 +16,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
return new SettingDefinition[] return new SettingDefinition[]
{ {
new SettingDefinition( new SettingDefinition(
name: AbpFileManagementSettingNames.FileLimitLength, name: AbpOssManagementSettingNames.FileLimitLength,
defaultValue: AbpFileManagementSettingNames.DefaultFileLimitLength.ToString(), defaultValue: AbpOssManagementSettingNames.DefaultFileLimitLength.ToString(),
displayName: L("DisplayName:FileLimitLength"), displayName: L("DisplayName:FileLimitLength"),
description: L("Description:FileLimitLength"), description: L("Description:FileLimitLength"),
isVisibleToClients: true) isVisibleToClients: true)
@ -25,8 +25,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
GlobalSettingValueProvider.ProviderName, GlobalSettingValueProvider.ProviderName,
TenantSettingValueProvider.ProviderName), TenantSettingValueProvider.ProviderName),
new SettingDefinition( new SettingDefinition(
name: AbpFileManagementSettingNames.AllowFileExtensions, name: AbpOssManagementSettingNames.AllowFileExtensions,
defaultValue: AbpFileManagementSettingNames.DefaultAllowFileExtensions, defaultValue: AbpOssManagementSettingNames.DefaultAllowFileExtensions,
displayName: L("DisplayName:AllowFileExtensions"), displayName: L("DisplayName:AllowFileExtensions"),
description: L("Description:AllowFileExtensions"), description: L("Description:AllowFileExtensions"),
isVisibleToClients: true) isVisibleToClients: true)
@ -38,7 +38,7 @@ namespace LINGYUN.Abp.FileManagement.Settings
protected LocalizableString L(string name) protected LocalizableString L(string name)
{ {
return LocalizableString.Create<AbpFileManagementResource>(name); return LocalizableString.Create<AbpOssManagementResource>(name);
} }
} }
} }

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Settings/AbpFileManagementSettingNames.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingNames.cs

@ -1,8 +1,8 @@
namespace LINGYUN.Abp.FileManagement.Settings namespace LINGYUN.Abp.OssManagement.Settings
{ {
public class AbpFileManagementSettingNames public class AbpOssManagementSettingNames
{ {
public const string GroupName = "Abp.FileManagement"; public const string GroupName = "Abp.OssManagement";
/// <summary> /// <summary>
/// 下载分包大小 /// 下载分包大小
/// </summary> /// </summary>

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/System/IO/StreamExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/System/IO/StreamExtensions.cs

3
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN.Abp.OssManagement.Domain.csproj

@ -13,7 +13,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj" /> <ProjectReference Include="..\..\common\LINGYUN.Abp.Features.LimitValidation\LINGYUN.Abp.Features.LimitValidation.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

9
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementContainer.cs

@ -0,0 +1,9 @@
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.OssManagement
{
[BlobContainerName("abp-oss-management")]
public class AbpOssManagementContainer
{
}
}

17
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementDomainModule.cs

@ -0,0 +1,17 @@
using LINGYUN.Abp.Features.LimitValidation;
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpDddDomainModule),
typeof(AbpMultiTenancyModule),
typeof(AbpFeaturesLimitValidationModule),
typeof(AbpOssManagementDomainSharedModule)
)]
public class AbpOssManagementDomainModule : AbpModule
{
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/BulkDeleteObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/BulkDeleteObjectRequest.cs

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using Volo.Abp; using Volo.Abp;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class BulkDeleteObjectRequest public class BulkDeleteObjectRequest
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/CreateOssObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/CreateOssObjectRequest.cs

@ -3,7 +3,7 @@ using System;
using System.IO; using System.IO;
using Volo.Abp; using Volo.Abp;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class CreateOssObjectRequest public class CreateOssObjectRequest
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssContainersRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersRequest.cs

@ -1,4 +1,4 @@
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssContainersRequest public class GetOssContainersRequest
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssContainersResponse.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersResponse.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssContainersResponse public class GetOssContainersResponse
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectRequest.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using Volo.Abp; using Volo.Abp;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssObjectRequest public class GetOssObjectRequest
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectsRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsRequest.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using Volo.Abp; using Volo.Abp;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssObjectsRequest public class GetOssObjectsRequest
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectsResponse.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsResponse.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class GetOssObjectsResponse public class GetOssObjectsResponse
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainer.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
/// <summary> /// <summary>
/// Oss容器 /// Oss容器

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainerExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerExtensions.cs

@ -1,7 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public static class IOssContainerExtensions public static class IOssContainerExtensions
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerFactory.cs

@ -1,4 +1,4 @@
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
/// <summary> /// <summary>
/// Oss容器构建工厂 /// Oss容器构建工厂

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssContainer.cs

@ -1,7 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
/// <summary> /// <summary>
/// 描述了一个容器的状态信息 /// 描述了一个容器的状态信息

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssObject.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObject.cs

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
/// <summary> /// <summary>
/// 描述了一个对象的状态信息 /// 描述了一个对象的状态信息

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssObjectComparer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObjectComparer.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class OssObjectComparer : IComparer<OssObject> public class OssObjectComparer : IComparer<OssObject>
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj

@ -10,7 +10,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN/Abp/FileManagement/FileSystem/ImageSharp/AbpFileManagementFileSystemImageSharpModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/AbpOssManagementFileSystemImageSharpModule.cs

@ -1,9 +1,9 @@
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{ {
[DependsOn(typeof(AbpFileManagementFileSystemModule))] [DependsOn(typeof(AbpOssManagementFileSystemModule))]
public class AbpFileManagementFileSystemImageSharpModule : AbpModule public class AbpOssManagementFileSystemImageSharpModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN/Abp/FileManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs

@ -10,7 +10,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{ {
public class ImageSharpProcesserContributor : IFileSystemOssObjectProcesserContributor public class ImageSharpProcesserContributor : IFileSystemOssObjectProcesserContributor
{ {

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/README.md

@ -1,4 +1,4 @@
# LINGYUN.Abp.FileManagement.FileSystem.ImageSharp # LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
本地文件系统oss对象ImageSharp图形处理接口 本地文件系统oss对象ImageSharp图形处理接口
@ -7,7 +7,7 @@
模块按需引用 模块按需引用
```csharp ```csharp
[DependsOn(typeof(AbpFileManagementFileSystemImageSharpModule))] [DependsOn(typeof(AbpOssManagementFileSystemImageSharpModule))]
public class YouProjectModule : AbpModule public class YouProjectModule : AbpModule
{ {
// other // other

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN.Abp.FileManagement.FileSystem.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN.Abp.OssManagement.FileSystem.csproj

@ -11,7 +11,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/AbpFileManagementFileSystemModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/AbpOssManagementFileSystemModule.cs

@ -2,12 +2,12 @@
using Volo.Abp.BlobStoring.FileSystem; using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
[DependsOn( [DependsOn(
typeof(AbpBlobStoringFileSystemModule), typeof(AbpBlobStoringFileSystemModule),
typeof(AbpFileManagementDomainModule))] typeof(AbpOssManagementDomainModule))]
public class AbpFileManagementFileSystemModule : AbpModule public class AbpOssManagementFileSystemModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {

24
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs

@ -12,7 +12,7 @@ using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.IO; using Volo.Abp.IO;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
/// <summary> /// <summary>
/// Oss容器的本地文件系统实现 /// Oss容器的本地文件系统实现
@ -55,7 +55,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{ {
if (Directory.GetFileSystemEntries(file).Length > 0) if (Directory.GetFileSystemEntries(file).Length > 0)
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerDeleteWithNotEmpty); throw new BusinessException(code: OssManagementErrorCodes.ContainerDeleteWithNotEmpty);
// throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!"); // throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!");
} }
Directory.Delete(file); Directory.Delete(file);
@ -108,7 +108,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
if (File.Exists(filePath)) if (File.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists); throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
// throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!"); // throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!");
} }
@ -144,7 +144,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
ThrowOfPathHasTooLong(filePath); ThrowOfPathHasTooLong(filePath);
if (Directory.Exists(filePath)) if (Directory.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists); throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
// throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!"); // throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!");
} }
Directory.CreateDirectory(filePath); Directory.CreateDirectory(filePath);
@ -175,12 +175,12 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name); var filePath = CalculateFilePath(name);
if (!Directory.Exists(filePath)) if (!Directory.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound); throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
} }
// 非空目录无法删除 // 非空目录无法删除
if (Directory.GetFileSystemEntries(filePath).Length > 0) if (Directory.GetFileSystemEntries(filePath).Length > 0)
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerDeleteWithNotEmpty); throw new BusinessException(code: OssManagementErrorCodes.ContainerDeleteWithNotEmpty);
// throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!"); // throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!");
} }
Directory.Delete(filePath); Directory.Delete(filePath);
@ -202,7 +202,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{ {
if (Directory.GetFileSystemEntries(filePath).Length > 0) if (Directory.GetFileSystemEntries(filePath).Length > 0)
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectDeleteWithNotEmpty); throw new BusinessException(code: OssManagementErrorCodes.ObjectDeleteWithNotEmpty);
} }
Directory.Delete(filePath); Directory.Delete(filePath);
} }
@ -222,7 +222,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name); var filePath = CalculateFilePath(name);
if (!Directory.Exists(filePath)) if (!Directory.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound); throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {name} in file system"); // throw new ContainerNotFoundException($"Can't not found container {name} in file system");
} }
@ -254,7 +254,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{ {
if (!Directory.Exists(filePath)) if (!Directory.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ObjectNotFound); throw new BusinessException(code: OssManagementErrorCodes.ObjectNotFound);
// throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with file system"); // throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with file system");
} }
var directoryInfo = new DirectoryInfo(filePath); var directoryInfo = new DirectoryInfo(filePath);
@ -388,7 +388,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(request.BucketName, request.Prefix); var filePath = CalculateFilePath(request.BucketName, request.Prefix);
if (!Directory.Exists(filePath)) if (!Directory.Exists(filePath))
{ {
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound); throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {request.BucketName} in file system"); // throw new ContainerNotFoundException($"Can't not found container {request.BucketName} in file system");
} }
// 目录也属于Oss对象,需要抽象的文件系统集合来存储 // 目录也属于Oss对象,需要抽象的文件系统集合来存储
@ -494,7 +494,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
protected virtual FileSystemBlobProviderConfiguration GetFileSystemConfiguration() protected virtual FileSystemBlobProviderConfiguration GetFileSystemConfiguration()
{ {
var configuration = ConfigurationProvider.Get<AbpFileManagementContainer>(); var configuration = ConfigurationProvider.Get<AbpOssManagementContainer>();
var fileSystemConfiguration = configuration.GetFileSystemConfiguration(); var fileSystemConfiguration = configuration.GetFileSystemConfiguration();
return fileSystemConfiguration; return fileSystemConfiguration;
} }
@ -532,7 +532,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
// Linux 255 4096 // Linux 255 4096
//if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && path.Length >= 255) // 预留5位 //if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && path.Length >= 255) // 预留5位
//{ //{
// throw new BusinessException(code: FileManagementErrorCodes.OssNameHasTooLong); // throw new BusinessException(code: OssManagementErrorCodes.OssNameHasTooLong);
//} //}
} }
} }

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainerFactory.cs

@ -5,7 +5,7 @@ using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.FileSystem; using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public class FileSystemOssContainerFactory : IOssContainerFactory public class FileSystemOssContainerFactory : IOssContainerFactory
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssObjectContext.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssObjectContext.cs

@ -2,7 +2,7 @@
using System.IO; using System.IO;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public class FileSystemOssObjectContext : IServiceProviderAccessor public class FileSystemOssObjectContext : IServiceProviderAccessor
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssOptions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptions.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public class FileSystemOssOptions public class FileSystemOssOptions
{ {

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssOptionsExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptionsExtensions.cs

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public static class FileSystemOssOptionsExtensions public static class FileSystemOssOptionsExtensions
{ {

5
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs

@ -1,7 +1,6 @@
using System.IO; using System.Threading.Tasks;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public interface IFileSystemOssObjectProcesserContributor public interface IFileSystemOssObjectProcesserContributor
{ {

5
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs

@ -1,7 +1,6 @@
using System.IO; using System.Threading.Tasks;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem namespace LINGYUN.Abp.OssManagement.FileSystem
{ {
public class NoneFileSystemOssObjectProcesser : IFileSystemOssObjectProcesserContributor public class NoneFileSystemOssObjectProcesser : IFileSystemOssObjectProcesserContributor
{ {

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/README.md

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN.Abp.OssManagement.HttpApi.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
@ -13,7 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.Settings\LINGYUN.Abp.Settings.csproj" /> <ProjectReference Include="..\..\common\LINGYUN.Abp.Settings\LINGYUN.Abp.Settings.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

8
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/AbpFileManagementHttpApiModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiModule.cs

@ -2,19 +2,19 @@
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
[DependsOn( [DependsOn(
typeof(AbpFileManagementApplicationContractsModule), typeof(AbpOssManagementApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule) typeof(AbpAspNetCoreMvcModule)
)] )]
public class AbpFileManagementHttpApiModule : AbpModule public class AbpOssManagementHttpApiModule : AbpModule
{ {
public override void PreConfigureServices(ServiceConfigurationContext context) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {
PreConfigure<IMvcBuilder>(mvcBuilder => PreConfigure<IMvcBuilder>(mvcBuilder =>
{ {
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpFileManagementHttpApiModule).Assembly); mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpOssManagementHttpApiModule).Assembly);
}); });
} }
} }

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/FileValidater.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/FileValidater.cs

@ -1,5 +1,7 @@
using LINGYUN.Abp.FileManagement.Settings; using LINGYUN.Abp.OssManagement.Localization;
using LINGYUN.Abp.OssManagement.Settings;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Localization;
using System; using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -7,10 +9,8 @@ using Volo.Abp;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.IO; using Volo.Abp.IO;
using Volo.Abp.Settings; using Volo.Abp.Settings;
using Microsoft.Extensions.Localization;
using LINGYUN.Abp.FileManagement.Localization;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class FileValidater : IFileValidater, ISingletonDependency public class FileValidater : IFileValidater, ISingletonDependency
{ {
@ -23,7 +23,7 @@ namespace LINGYUN.Abp.FileManagement
IMemoryCache cache, IMemoryCache cache,
ISettingProvider settingProvider, ISettingProvider settingProvider,
IServiceProvider serviceProvider, IServiceProvider serviceProvider,
IStringLocalizer<AbpFileManagementResource> stringLocalizer) IStringLocalizer<AbpOssManagementResource> stringLocalizer)
{ {
_cache = cache; _cache = cache;
_settingProvider = settingProvider; _settingProvider = settingProvider;
@ -66,10 +66,10 @@ namespace LINGYUN.Abp.FileManagement
{ {
var fileSizeLimited = await _settingProvider var fileSizeLimited = await _settingProvider
.GetAsync( .GetAsync(
AbpFileManagementSettingNames.FileLimitLength, AbpOssManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength); AbpOssManagementSettingNames.DefaultFileLimitLength);
var fileAllowExtension = await _settingProvider var fileAllowExtension = await _settingProvider
.GetOrDefaultAsync(AbpFileManagementSettingNames.AllowFileExtensions, _serviceProvider); .GetOrDefaultAsync(AbpOssManagementSettingNames.AllowFileExtensions, _serviceProvider);
return new FileValidation(fileSizeLimited, fileAllowExtension.Split(',')); return new FileValidation(fileSizeLimited, fileAllowExtension.Split(','));
} }

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/IFileValidater.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/IFileValidater.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public interface IFileValidater public interface IFileValidater
{ {

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/OssContainerController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssContainerController.cs

@ -1,14 +1,13 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
[RemoteService(Name = "AbpFileManagement")] [RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("file-management")] [Area("oss-management")]
[Route("api/file-management/containes")] [Route("api/oss-management/containes")]
public class OssContainerController : AbpController, IOssContainerAppService public class OssContainerController : AbpController, IOssContainerAppService
{ {
protected IOssContainerAppService OssContainerAppService { get; } protected IOssContainerAppService OssContainerAppService { get; }

13
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/OssObjectController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssObjectController.cs

@ -1,4 +1,5 @@
using LINGYUN.Abp.FileManagement.Settings; using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -10,14 +11,13 @@ using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.IO; using Volo.Abp.IO;
using Volo.Abp.Settings;
using Volo.Abp.Validation; using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
[RemoteService(Name = "AbpFileManagement")] [RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("file-management")] [Area("oss-management")]
[Route("api/file-management/objects")] [Route("api/oss-management/objects")]
public class OssObjectController : AbpController, IOssObjectAppService public class OssObjectController : AbpController, IOssObjectAppService
{ {
protected IFileValidater FileValidater { get; } protected IFileValidater FileValidater { get; }
@ -40,6 +40,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost] [HttpPost]
[Route("upload")] [Route("upload")]
[DisableAuditing] [DisableAuditing]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task UploadAsync([FromForm] UploadOssObjectInput input) public virtual async Task UploadAsync([FromForm] UploadOssObjectInput input)
{ {
await FileValidater.ValidationAsync(input); await FileValidater.ValidationAsync(input);

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/StaticFilesController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/StaticFilesController.cs

@ -1,18 +1,21 @@
using Microsoft.AspNetCore.Http; using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Http; using Volo.Abp.Http;
using Volo.Abp.Validation; using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
[RemoteService(Name = "AbpFileManagement")] [RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("file-management")] [Area("oss-management")]
[Route("api/files/static")] [Route("api/files/static")]
public class StaticFilesController : AbpController public class StaticFilesController : AbpController
{ {
@ -30,6 +33,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost] [HttpPost]
[Route("{bucket}")] [Route("{bucket}")]
[Route("{bucket}/{path}")] [Route("{bucket}/{path}")]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task<OssObjectDto> UploadAsync(string bucket, string path, [FromForm] IFormFile file) public virtual async Task<OssObjectDto> UploadAsync(string bucket, string path, [FromForm] IFormFile file)
{ {
if (file == null || file.Length <= 0) if (file == null || file.Length <= 0)
@ -39,8 +43,8 @@ namespace LINGYUN.Abp.FileManagement
var createOssObjectInput = new CreateOssObjectInput var createOssObjectInput = new CreateOssObjectInput
{ {
Bucket = bucket, Bucket = HttpUtility.UrlDecode(bucket),
Path = path, Path = HttpUtility.UrlDecode(path),
Object = file.FileName, Object = file.FileName,
Content = file.OpenReadStream() Content = file.OpenReadStream()
}; };

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/UploadOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/UploadOssObjectInput.cs

@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement namespace LINGYUN.Abp.OssManagement
{ {
public class UploadOssObjectInput public class UploadOssObjectInput
{ {

20
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/AbpOssManagementSettingManagementModule.cs

@ -0,0 +1,20 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
[DependsOn(
typeof(AbpOssManagementApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule))]
public class AbpOssManagementSettingManagementModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpOssManagementSettingManagementModule).Assembly);
});
}
}
}

18
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN.Abp.OssManagement.SettingManagement.csproj

@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.2.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="4.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
</ItemGroup>
</Project>

13
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/IOssManagementSettingAppService.cs

@ -0,0 +1,13 @@
using LINGYUN.Abp.SettingManagement;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
public interface IOssManagementSettingAppService
{
Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync();
Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync();
}
}

73
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingAppService.cs

@ -0,0 +1,73 @@
using LINGYUN.Abp.OssManagement.Localization;
using LINGYUN.Abp.OssManagement.Permissions;
using LINGYUN.Abp.OssManagement.Settings;
using LINGYUN.Abp.SettingManagement;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.MultiTenancy;
using Volo.Abp.SettingManagement;
using Volo.Abp.Settings;
using ValueType = LINGYUN.Abp.SettingManagement.ValueType;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
public class OssManagementSettingAppService : ApplicationService, IOssManagementSettingAppService
{
protected ISettingManager SettingManager { get; }
protected IPermissionChecker PermissionChecker { get; }
protected ISettingDefinitionManager SettingDefinitionManager { get; }
public OssManagementSettingAppService(
ISettingManager settingManager,
IPermissionChecker permissionChecker,
ISettingDefinitionManager settingDefinitionManager)
{
SettingManager = settingManager;
PermissionChecker = permissionChecker;
SettingDefinitionManager = settingDefinitionManager;
LocalizationResource = typeof(AbpOssManagementResource);
}
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync()
{
return await GetAllForProviderAsync(TenantSettingValueProvider.ProviderName, CurrentTenant.GetId().ToString());
}
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync()
{
return await GetAllForProviderAsync(GlobalSettingValueProvider.ProviderName, null);
}
protected virtual async Task<ListResultDto<SettingGroupDto>> GetAllForProviderAsync(string providerName, string providerKey)
{
var settingGroups = new List<SettingGroupDto>();
// 无权限返回空结果,直接报错的话,网关聚合会抛出异常
if (await PermissionChecker.IsGrantedAsync(AbpOssManagementPermissions.OssObject.Default))
{
var ossSettingGroup = new SettingGroupDto(L["DisplayName:OssManagement"], L["Description:OssManagement"]);
var ossObjectSetting = ossSettingGroup.AddSetting(L["DisplayName:OssObject"], L["Description:OssObject"]);
ossObjectSetting.AddDetail(
SettingDefinitionManager.Get(AbpOssManagementSettingNames.FileLimitLength),
StringLocalizerFactory,
await SettingManager.GetOrNullAsync(AbpOssManagementSettingNames.FileLimitLength, providerName, providerKey),
ValueType.Number);
ossObjectSetting.AddDetail(
SettingDefinitionManager.Get(AbpOssManagementSettingNames.AllowFileExtensions),
StringLocalizerFactory,
await SettingManager.GetOrNullAsync(AbpOssManagementSettingNames.AllowFileExtensions, providerName, providerKey),
ValueType.String);
settingGroups.Add(ossSettingGroup);
}
return new ListResultDto<SettingGroupDto>(settingGroups);
}
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save