瀏覽代碼

修复OSS服务注入异常,新增阿里云外链显示(其他平台自行扩展)

zuohuaijun 3 年之前
父節點
當前提交
b8d4a8727c

+ 4 - 4
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -25,9 +25,9 @@
   <ItemGroup>
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
     <PackageReference Include="Caching.CSRedis" Version="3.8.3" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.1.10" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.1.10" />
-    <PackageReference Include="Furion.Pure" Version="4.1.10" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.1.11" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.1.11" />
+    <PackageReference Include="Furion.Pure" Version="4.1.11" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.6.4" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.7" />
     <PackageReference Include="NETCore.MailKit" Version="2.1.0" />
@@ -35,7 +35,7 @@
     <PackageReference Include="QuestPDF" Version="2022.6.3" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.16.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="2.11.0" />
-    <PackageReference Include="SqlSugarCore" Version="5.1.0" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.1" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.19" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />

+ 5 - 4
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -637,7 +637,7 @@
         </member>
         <member name="P:Admin.NET.Core.SysFile.Url">
             <summary>
-            外链地址  OSS上传后直接生成外链地址  方便前端预览
+            外链地址-OSS上传后生成外链地址方便前端预览
             </summary>
         </member>
         <member name="T:Admin.NET.Core.SysLogAudit">
@@ -3151,12 +3151,13 @@
         </member>
         <member name="P:Admin.NET.Core.OSSProviderOptions.Bucket">
             <summary>
-            自定义桶名称 不能直接使用Provider来替代桶名称。例:阿里云 1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头 3.长度必须在3-63字节之间
+            自定义桶名称 不能直接使用Provider来替代桶名称
+            例:阿里云 1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头 3.长度必须在3-63字节之间
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.OSSProviderOptions.OptionName">
+        <member name="P:Admin.NET.Core.OSSProviderOptions.ProviderName">
             <summary>
-            配置名称
+            对象存储名称
             </summary>
         </member>
         <member name="T:Admin.NET.Core.PayCallBackOptions">

+ 1 - 1
Admin.NET/Admin.NET.Core/AdminNETConfig.json

@@ -95,7 +95,7 @@
     "IsEnableHttps": true,
     "IsEnableCache": true,
     "Bucket": "",
-    "OptionName": "Aliyun"
+    "ProviderName": "Aliyun"
   },
   "Email": {
     "Server": "smtp.163.com", // 主机

+ 1 - 1
Admin.NET/Admin.NET.Core/Entity/SysFile.cs

@@ -49,7 +49,7 @@ public class SysFile : EntityBase
     public string SizeInfo { get; set; }
 
     /// <summary>
-    /// 外链地址  OSS上传后直接生成外链地址  方便前端预览
+    /// 外链地址-OSS上传后生成外链地址方便前端预览
     /// </summary>
     [SugarColumn(ColumnDescription = "外链地址", Length = 128)]
     [MaxLength(128)]

+ 6 - 3
Admin.NET/Admin.NET.Core/Option/OSSProviderOptions.cs

@@ -11,12 +11,15 @@ public sealed class OSSProviderOptions : OSSOptions, IConfigurableOptions
     /// 是否启用OSS存储
     /// </summary>
     public bool IsEnable { get; set; }
+
     /// <summary>
-    /// 自定义桶名称 不能直接使用Provider来替代桶名称。例:阿里云 1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头 3.长度必须在3-63字节之间
+    /// 自定义桶名称 不能直接使用Provider来替代桶名称
+    /// 例:阿里云 1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头 3.长度必须在3-63字节之间
     /// </summary>
     public string Bucket { get; set; }
+
     /// <summary>
-    /// 配置名称
+    /// 对象存储名称
     /// </summary>
-    public string OptionName { get; set; }
+    public string ProviderName { get; set; }
 }

+ 5 - 5
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -25,7 +25,7 @@ public class SysFileService : IDynamicApiController, ITransient
         _uploadOptions = uploadOptions.Value;
         _commonService = commonService;
         if (_OSSProviderOptions.IsEnable)
-            _OSSService = ossServiceFactory.Create(_OSSProviderOptions.OptionName);
+            _OSSService = ossServiceFactory.Create(_OSSProviderOptions.ProviderName);
     }
 
     /// <summary>
@@ -165,9 +165,9 @@ public class SysFileService : IDynamicApiController, ITransient
         var newFile = new SysFile
         {
             Id = Yitter.IdGenerator.YitIdHelper.NextId(),
-            //BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Provider.ToString() : "Local",
-            //阿里云对bucket名称有要求,1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头  3.长度必须在3-63字节之间
-            //无法使用Provider
+            // BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Provider.ToString() : "Local",
+            // 阿里云对bucket名称有要求,1.只能包括小写字母,数字,短横线(-)2.必须以小写字母或者数字开头  3.长度必须在3-63字节之间
+            // 无法使用Provider
             BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Bucket : "Local",
             FileName = Path.GetFileNameWithoutExtension(file.FileName),
             Suffix = suffix,
@@ -179,7 +179,7 @@ public class SysFileService : IDynamicApiController, ITransient
         if (_OSSProviderOptions.IsEnable)
         {
             var filePath = string.Concat(path, "/", finalName);
-            await _OSSService.PutObjectAsync(newFile.BucketName, filePath, file.OpenReadStream()); 
+            await _OSSService.PutObjectAsync(newFile.BucketName, filePath, file.OpenReadStream());
             //  http://<你的bucket名字>.oss.aliyuncs.com/<你的object名字>
             //  生成外链地址 方便前端预览
             switch (_OSSProviderOptions.Provider)

+ 1 - 1
Admin.NET/Admin.NET.UnitTest/Admin.NET.UnitTest.csproj

@@ -8,7 +8,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Furion.Pure.Xunit" Version="4.1.10" />
+    <PackageReference Include="Furion.Pure.Xunit" Version="4.1.11" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.7" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
     <PackageReference Include="xunit" Version="2.4.2" />

+ 5 - 2
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -3,6 +3,7 @@ using AspNetCoreRateLimit;
 using Furion;
 using Furion.SpecificationDocument;
 using IGeekFan.AspNetCore.Knife4jUI;
+using Mapster;
 using Microsoft.AspNetCore.Builder;
 using Microsoft.AspNetCore.Hosting;
 using Microsoft.Extensions.DependencyInjection;
@@ -60,9 +61,10 @@ public class Startup : AppStartup
         {
             builder.AddSubscriber<LogEventSubscriber>();
         });
-        // OSS对象存储
+
+        // OSS对象存储(必须一个个赋值)
         var opt = App.GetOptions<OSSProviderOptions>();
-        services.AddOSSService(opt.OptionName, options =>
+        services.AddOSSService(opt.ProviderName, options =>
         {
             options.Provider = opt.Provider;
             options.Endpoint = opt.Endpoint;
@@ -72,6 +74,7 @@ public class Startup : AppStartup
             options.IsEnableCache = opt.IsEnableCache;
             options.IsEnableHttps = opt.IsEnableHttps;
         });
+
         // 电子邮件
         services.AddMailKit(options =>
         {