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
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
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
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
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
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
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
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
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
@ -273,11 +276,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.SettingM
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}"
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
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
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
Global
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}.Release|Any CPU.ActiveCfg = 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
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -877,6 +886,7 @@ Global
{35B17218-9FB6-439E-AF73-9A1454BC923C} = {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}
{BD74BE00-54E4-4979-8797-E8027695F396} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
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
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
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-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}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{8F972C8E-F047-4883-A4BF-3423A2BAED36}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "account", "account", "{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}"
EndProject
@ -67,7 +65,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.MiniProg
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}"
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
Global
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}.Release|Any CPU.ActiveCfg = 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.Build.0 = Debug|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}.Release|Any CPU.ActiveCfg = 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
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -191,7 +191,6 @@ Global
{D25C4814-71AB-4A9D-8C76-298A7DE1A747} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{7521486D-2144-4AFA-86AD-8E8021479DE6} = {D25C4814-71AB-4A9D-8C76-298A7DE1A747}
{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}
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4} = {9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}
{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}
{EAD2F955-88CA-4570-AB81-31FB2FF02605} = {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
GlobalSection(ExtensibilityGlobals) = postSolution
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
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform", "platform", "{4096EC6A-EEAD-4E5B-B087-393D7A4E5874}"
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
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
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
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
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
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
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{8CDB2F58-9541-4FB2-8A37-079C5E6A1689}"
EndProject
@ -49,7 +49,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.EntityFram
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}"
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
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{265D5E44-682B-49BC-984A-BDD8CA45E60E}"
EndProject
@ -57,7 +57,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun", "modul
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}"
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
Global
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}.Release|Any CPU.ActiveCfg = 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
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -179,6 +211,12 @@ Global
{8A393F7F-85A2-48ED-9B56-9CEFF3BDE34A} = {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}
{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
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {03D3B66F-8926-4C00-B7AB-A21761EC859E}

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

@ -1,3 +1,25 @@
# 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)
# 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.Hours Calculate the flow by the hours
LimitPolicy.Days Calculate the flow by days
LimitPolicy.Weeks Calculate the flow by weeks
LimitPolicy.Month Calculate the flow by the number of month
LimitPolicy.Years Calculate the flow by the number of years
LimitPolicy.Minute Calculate the flow by the minutes
LimitPolicy.Hours Calculate the flow by the hours
LimitPolicy.Days Calculate the flow by days
LimitPolicy.Weeks Calculate the flow by weeks
LimitPolicy.Month Calculate the flow by the number of month
LimitPolicy.Years Calculate the flow by the number of years
## How to use
```csharp
[DependsOn(typeof(AbpFeaturesLimitValidationModule))]
[DependsOn(typeof(AbpFeaturesLimitValidationModule))]
public class YouProjectModule : AbpModule
{
// 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
[DependsOn(typeof(AbpFeaturesLimitValidationModule))]

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

@ -2,18 +2,18 @@
# LINGYUN.Abp.Features.LimitValidation
功能上限验证组件
功能上限验证组件
检查定义的功能调用次数,来限制特定的实体(租户、用户、客户端等)对于应用程序的调用
检查定义的功能调用次数,来限制特定的实体(租户、用户、客户端等)对于应用程序的调用
预先设定了如下几个策略
预先设定了如下几个策略
LimitPolicy.Minute 按分钟计算流量
LimitPolicy.Hours 按小时计算流量
LimitPolicy.Days 按天数计算流量
LimitPolicy.Weeks 按周数计算流量
LimitPolicy.Month 按月数计算流量
LimitPolicy.Years 按年数计算流量
LimitPolicy.Minute 按分钟计算流量
LimitPolicy.Hours 按小时计算流量
LimitPolicy.Days 按天数计算流量
LimitPolicy.Weeks 按周数计算流量
LimitPolicy.Month 按月数计算流量
LimitPolicy.Years 按年数计算流量
## 配置使用
@ -26,7 +26,7 @@ public class YouProjectModule : AbpModule
}
```
如果需要自行处理功能限制策略时长,请覆盖对应策略的默认策略,返回的时钟刻度单位始终是秒
如果需要自行处理功能限制策略时长,请覆盖对应策略的默认策略,返回的时钟刻度单位始终是秒
```csharp
[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>
<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>
</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 Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
[DependsOn(
typeof(AbpBlobStoringAliyunModule),
typeof(AbpFileManagementDomainModule))]
public class AbpFileManagementAliyunModule : AbpModule
typeof(AbpOssManagementDomainModule))]
public class AbpOssManagementAliyunModule : AbpModule
{
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.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
/// <summary>
/// Oss容器的阿里云实现
@ -40,7 +40,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (BucketExists(ossClient, name))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerAlreadyExists);
throw new BusinessException(code: OssManagementErrorCodes.ContainerAlreadyExists);
}
var bucket = ossClient.CreateBucket(name);
@ -69,7 +69,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
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() ||
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!");
}
ossClient.DeleteObject(request.Bucket, objectName);
@ -170,7 +170,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync();
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");
}
var bucket = ossClient.GetBucketInfo(name);
@ -192,7 +192,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync();
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");
}
@ -203,7 +203,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
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");
}
@ -363,7 +363,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
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 Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
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>
<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>
</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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup>
</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 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; }
@ -14,6 +15,7 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory;
}
[Authorize(AbpOssManagementPermissions.Container.Create)]
public virtual async Task<OssContainerDto> CreateAsync(string name)
{
var oss = CreateOssContainer();
@ -22,6 +24,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssContainer, OssContainerDto>(container);
}
[Authorize(AbpOssManagementPermissions.Container.Delete)]
public virtual async Task DeleteAsync(string name)
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class FileManagementApplicationAutoMapperProfile : Profile
public class OssManagementApplicationAutoMapperProfile : Profile
{
public FileManagementApplicationAutoMapperProfile()
public OssManagementApplicationAutoMapperProfile()
{
CreateMap<OssContainer, OssContainerDto>();
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.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Features;
using Volo.Abp.IO;
using Volo.Abp.Settings;
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; }
@ -22,6 +27,12 @@ namespace LINGYUN.Abp.FileManagement
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)
{
if (!input.Content.IsNullOrEmpty())
@ -29,8 +40,8 @@ namespace LINGYUN.Abp.FileManagement
// 检查文件大小
var fileSizeLimited = await SettingProvider
.GetAsync(
AbpFileManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength);
AbpOssManagementSettingNames.FileLimitLength,
AbpOssManagementSettingNames.DefaultFileLimitLength);
if (fileSizeLimited * 1024 * 1024 < input.Content.Length)
{
ThrowValidationException(L["UploadFileSizeBeyondLimit", fileSizeLimited], nameof(input.Content));
@ -38,7 +49,7 @@ namespace LINGYUN.Abp.FileManagement
// 文件扩展名
var fileExtensionName = FileHelper.GetExtension(input.Object);
var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpFileManagementSettingNames.AllowFileExtensions);
var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpOssManagementSettingNames.AllowFileExtensions);
// 检查文件扩展名
if (!fileAllowExtension.Split(',')
.Any(fe => fe.Equals(fileExtensionName, StringComparison.CurrentCultureIgnoreCase)))
@ -60,6 +71,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
}
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task BulkDeleteAsync(BulkDeleteOssObjectInput input)
{
var oss = CreateOssContainer();
@ -67,6 +79,7 @@ namespace LINGYUN.Abp.FileManagement
await oss.BulkDeleteObjectsAsync(input.Bucket, input.Objects, input.Path);
}
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task DeleteAsync(GetOssObjectInput input)
{
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.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; }
@ -14,6 +17,11 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory;
}
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.DownloadFile)]
[RequiresLimitFeature(
AbpOssManagementFeatureNames.OssObject.DownloadLimit,
AbpOssManagementFeatureNames.OssObject.DownloadInterval,
LimitPolicy.Month)]
public virtual async Task<Stream> GetAsync(GetStaticFileInput input)
{
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>
<ItemGroup>
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" />
<None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" />
<EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</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.ExceptionHandling;
using Volo.Abp.Modularity;
@ -6,30 +6,30 @@ using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(typeof(AbpValidationModule))]
public class AbpFileManagementDomainSharedModule : AbpModule
public class AbpOssManagementDomainSharedModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpFileManagementDomainSharedModule>();
options.FileSets.AddEmbedded<AbpOssManagementDomainSharedModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<AbpFileManagementResource>("en")
.Add<AbpOssManagementResource>("en")
.AddBaseTypes(
typeof(AbpValidationResource)
).AddVirtualJson("/LINGYUN/Abp/FileManagement/Localization/Resources");
).AddVirtualJson("/LINGYUN/Abp/OssManagement/Localization/Resources");
});
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: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!",
"Permission:FileManagement": "File management",
"Permission:FileSystem": "File system",
"Permission:FileManager": "Files",
"Permission:CreateFolder": "Create directory",
"Permission:DeleteFolder": "Delete directory",
"Permission:UpdateFolder": "Edit directory",
"Permission:MoveFolder": "Change directory",
"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",
"Permission:OssManagement": "Object Storage",
"Permission:Container": "Containers",
"Permission:OssObject": "Objects",
"Permission:Create": "Create",
"Permission:Delete": "Delete",
"Permission:Upload": "Upload",
"Permission:Download": "Download",
"FileNotFound": "The specified file does not exist!",
"PathNotFound": "The specified 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!",
"UploadFileSizeBeyondLimit": "Upload file size cannot exceed {0} MB!",
"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",
"Description:FileLimitLength": "Limit size of uploaded file in MB",
"DisplayName:AllowFileExtensions": "File extension",
@ -38,8 +35,16 @@
"Features:DisplayName:FileSystem": "File system",
"Features:DisplayName:DownloadFile": "Download file",
"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: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: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:020404": "未能找到查询的对象!",
"Abp.FileManagement:000405": "此路径对象名称已超出允许的最大长度,无法继续创建新对象!",
"Permission:FileManagement": "文件管理",
"Permission:FileSystem": "文件系统",
"Permission:FileManager": "文件",
"Permission:CreateFolder": "创建目录",
"Permission:DeleteFolder": "删除目录",
"Permission:UpdateFolder": "修改目录",
"Permission:MoveFolder": "变更目录",
"Permission:CopyFolder": "复制目录",
"Permission:AppendFile": "添加文件",
"Permission:UpdateFile": "变更文件",
"Permission:DeleteFile": "删除文件",
"Permission:CopyFile": "复制文件",
"Permission:MoveFile": "移动文件",
"Permission:DownloadFile": "下载文件",
"Permission:OssManagement": "对象存储",
"Permission:Container": "容器管理",
"Permission:OssObject": "对象管理",
"Permission:Create": "新增",
"Permission:Delete": "删除",
"Permission:Upload": "上传",
"Permission:Download": "下载",
"FileNotFound": "指定的文件不存在!",
"PathNotFound": "指定的目录不存在!",
"FilePathNotFound": "文件或目录不存在!",
@ -30,16 +23,28 @@
"FilePathAlreadyExists": "指定的路径中已经有相同的文件或目录存在!",
"UploadFileSizeBeyondLimit": "上传文件大小不能超过 {0} MB!",
"NotAllowedFileExtensionName": "不被允许的文件扩展名: {0}!",
"DisplayName:OssManagement": "对象存储",
"Description:OssManagement": "对象存储",
"DisplayName:OssObject": "Oss对象",
"Description:OssObject": "Oss对象",
"DisplayName:FileLimitLength": "文件限制大小",
"Description:FileLimitLength": "上传文件的限制大小,单位(MB)",
"DisplayName:AllowFileExtensions": "文件扩展名",
"Description:AllowFileExtensions": "允许的上传文件扩展名列表,多个扩展名以,分隔,无需输入.符号",
"Features:FileManagement": "文件管理",
"Features:DisplayName:FileSystem": "文件系统",
"Features:OssManagement": "对象存储",
"Features:DisplayName:OssObject": "Oss管理",
"Features:DisplayName:DownloadFile": "下载文件",
"Features:Description:DownloadFile": "是否允许用户下载文件",
"Features:DisplayName:DownloadLimit": "限制下载文件次数",
"Features:Description:DownloadLimit": "在指定的周期内限制下载文件的总次数",
"Features:DisplayName:DownloadInterval": "限制下载文件周期",
"Features:Description:DownloadInterval": "限制下载文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName:UploadFile": "上传文件",
"Features:Description:UploadFile": "是否允许用户上传文件",
"Features:DisplayName:UploadLimit": "限制上传文件次数",
"Features:Description:UploadLimit": "在指定的周期内限制上传文件的总次数",
"Features:DisplayName:UploadInterval": "限制上传文件周期",
"Features:Description:UploadInterval": "限制上传文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName: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 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.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)
{
@ -16,8 +16,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
return new SettingDefinition[]
{
new SettingDefinition(
name: AbpFileManagementSettingNames.FileLimitLength,
defaultValue: AbpFileManagementSettingNames.DefaultFileLimitLength.ToString(),
name: AbpOssManagementSettingNames.FileLimitLength,
defaultValue: AbpOssManagementSettingNames.DefaultFileLimitLength.ToString(),
displayName: L("DisplayName:FileLimitLength"),
description: L("Description:FileLimitLength"),
isVisibleToClients: true)
@ -25,8 +25,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
GlobalSettingValueProvider.ProviderName,
TenantSettingValueProvider.ProviderName),
new SettingDefinition(
name: AbpFileManagementSettingNames.AllowFileExtensions,
defaultValue: AbpFileManagementSettingNames.DefaultAllowFileExtensions,
name: AbpOssManagementSettingNames.AllowFileExtensions,
defaultValue: AbpOssManagementSettingNames.DefaultAllowFileExtensions,
displayName: L("DisplayName:AllowFileExtensions"),
description: L("Description:AllowFileExtensions"),
isVisibleToClients: true)
@ -38,7 +38,7 @@ namespace LINGYUN.Abp.FileManagement.Settings
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>

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>
<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>
</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 Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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
{

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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <summary>
/// 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.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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>
/// 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.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <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.IO;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj" />
</ItemGroup>
</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;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp
namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{
[DependsOn(typeof(AbpFileManagementFileSystemModule))]
public class AbpFileManagementFileSystemImageSharpModule : AbpModule
[DependsOn(typeof(AbpOssManagementFileSystemModule))]
public class AbpOssManagementFileSystemImageSharpModule : AbpModule
{
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.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp
namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{
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图形处理接口
@ -7,7 +7,7 @@
模块按需引用
```csharp
[DependsOn(typeof(AbpFileManagementFileSystemImageSharpModule))]
[DependsOn(typeof(AbpOssManagementFileSystemImageSharpModule))]
public class YouProjectModule : AbpModule
{
// 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>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup>
</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.Modularity;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
[DependsOn(
typeof(AbpBlobStoringFileSystemModule),
typeof(AbpFileManagementDomainModule))]
public class AbpFileManagementFileSystemModule : AbpModule
typeof(AbpOssManagementDomainModule))]
public class AbpOssManagementFileSystemModule : AbpModule
{
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.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
/// <summary>
/// Oss容器的本地文件系统实现
@ -55,7 +55,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
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!");
}
Directory.Delete(file);
@ -108,7 +108,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
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!");
}
@ -144,7 +144,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
ThrowOfPathHasTooLong(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!");
}
Directory.CreateDirectory(filePath);
@ -175,12 +175,12 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name);
if (!Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
}
// 非空目录无法删除
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!");
}
Directory.Delete(filePath);
@ -202,7 +202,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
if (Directory.GetFileSystemEntries(filePath).Length > 0)
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectDeleteWithNotEmpty);
throw new BusinessException(code: OssManagementErrorCodes.ObjectDeleteWithNotEmpty);
}
Directory.Delete(filePath);
}
@ -222,7 +222,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name);
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");
}
@ -254,7 +254,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
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");
}
var directoryInfo = new DirectoryInfo(filePath);
@ -388,7 +388,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(request.BucketName, request.Prefix);
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");
}
// 目录也属于Oss对象,需要抽象的文件系统集合来存储
@ -494,7 +494,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
protected virtual FileSystemBlobProviderConfiguration GetFileSystemConfiguration()
{
var configuration = ConfigurationProvider.Get<AbpFileManagementContainer>();
var configuration = ConfigurationProvider.Get<AbpOssManagementContainer>();
var fileSystemConfiguration = configuration.GetFileSystemConfiguration();
return fileSystemConfiguration;
}
@ -532,7 +532,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
// Linux 255 4096
//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.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
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 Volo.Abp.DependencyInjection;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
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 System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
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;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
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
{

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
{

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" />
@ -13,7 +13,7 @@
<ItemGroup>
<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>
</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.Modularity;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpFileManagementApplicationContractsModule),
typeof(AbpOssManagementApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule)
)]
public class AbpFileManagementHttpApiModule : AbpModule
public class AbpOssManagementHttpApiModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
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.Localization;
using System;
using System.Linq;
using System.Threading.Tasks;
@ -7,10 +9,8 @@ using Volo.Abp;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IO;
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
{
@ -23,7 +23,7 @@ namespace LINGYUN.Abp.FileManagement
IMemoryCache cache,
ISettingProvider settingProvider,
IServiceProvider serviceProvider,
IStringLocalizer<AbpFileManagementResource> stringLocalizer)
IStringLocalizer<AbpOssManagementResource> stringLocalizer)
{
_cache = cache;
_settingProvider = settingProvider;
@ -66,10 +66,10 @@ namespace LINGYUN.Abp.FileManagement
{
var fileSizeLimited = await _settingProvider
.GetAsync(
AbpFileManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength);
AbpOssManagementSettingNames.FileLimitLength,
AbpOssManagementSettingNames.DefaultFileLimitLength);
var fileAllowExtension = await _settingProvider
.GetOrDefaultAsync(AbpFileManagementSettingNames.AllowFileExtensions, _serviceProvider);
.GetOrDefaultAsync(AbpOssManagementSettingNames.AllowFileExtensions, _serviceProvider);
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;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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 System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[Route("api/file-management/containes")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/oss-management/containes")]
public class OssContainerController : AbpController, IOssContainerAppService
{
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 System;
using System.Collections.Generic;
@ -10,14 +11,13 @@ using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Auditing;
using Volo.Abp.IO;
using Volo.Abp.Settings;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[Route("api/file-management/objects")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/oss-management/objects")]
public class OssObjectController : AbpController, IOssObjectAppService
{
protected IFileValidater FileValidater { get; }
@ -40,6 +40,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost]
[Route("upload")]
[DisableAuditing]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task UploadAsync([FromForm] UploadOssObjectInput 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 System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Threading.Tasks;
using System.Web;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Http;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/files/static")]
public class StaticFilesController : AbpController
{
@ -30,6 +33,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost]
[Route("{bucket}")]
[Route("{bucket}/{path}")]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task<OssObjectDto> UploadAsync(string bucket, string path, [FromForm] IFormFile file)
{
if (file == null || file.Length <= 0)
@ -39,8 +43,8 @@ namespace LINGYUN.Abp.FileManagement
var createOssObjectInput = new CreateOssObjectInput
{
Bucket = bucket,
Path = path,
Bucket = HttpUtility.UrlDecode(bucket),
Path = HttpUtility.UrlDecode(path),
Object = file.FileName,
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 System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
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