如何分析ABP设置管理

发布时间:2022-01-15 11:49:06 作者:柒染
来源:亿速云 阅读:175

如何分析ABP设置管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

ABP的设置管理。

  开始

如何分析ABP设置管理

  首先定义了一个FileOptions类,其中包含了几个配置,然后在需要的地方中注入IOptions就可以使用这些信息了。

  当然,模块启动时可以做一些配置修改,比如:

如何分析ABP设置管理

  无论是配置文件还是这种代码形式的配置,都是程序层面的修改;有些配置不太适合这样做,比如这里的AllowedMaxFileSize和AllowedUploadFormats,它们应该在应用界面上,可以让管理员自行修改。下面就来改造一下程序。

  定义设置

  使用设置之前需要先定义它,不同的模块可以拥有不同的设置。

  modules\file-management\src\Xhznl.FileManagement.Domain\Settings\FileManagementSettingDefinitionProvider.cs:

  public class FileManagementSettingDefinitionProvider : SettingDefinitionProvider

  {

  public override void Define(ISettingDefinitionContext context)

  {

  /* Define module settings here.

  * Use names from FileManagementSettings class.

  */

  context.Add(new SettingDefinition(

  FileManagementSettings.AllowedMaxFileSize,

  "1024",

  L("DisplayName:FileManagement.AllowedMaxFileSize"),

  L("Description:FileManagement.AllowedMaxFileSize")

  )

  .WithProperty("Group1", "File")

  .WithProperty("Group2", "Upload")

  .WithProperty("Type", "number"),

  new SettingDefinition(

  FileManagementSettings.AllowedUploadFormats,

  ".jpg,.jpeg,.png,.gif,.txt",

  L("DisplayName:FileManagement.AllowedUploadFormats"),

  L("Description:FileManagement.AllowedUploadFormats")

  )

  .WithProperty("Group1", "File")

  .WithProperty("Group2", "Upload")

  .WithProperty("Type", "text")

  );

  }

  private static LocalizableString L(string name)

  {

  return LocalizableString.Create(name);

  }

  }

  以上代码定了了2个配置:AllowedMaxFileSize和AllowedUploadFormats,设置了它们的默认值、名称和详细说明。因为本项目使用了EasyAbp的SettingUi模块,所以会有一些Group1,Group2之类的字段,具体介绍可以参考Abp.SettingUi

  使用设置

  想读取设置信息,只需注入ISettingProvider即可。因为父类ApplicationService中已经注入,所以这里直接使用SettingProvider就好。获取到配置,然后就可以做一些逻辑处理,比如判断上传文件的大小和格式是否合法:

  public class FileAppService : FileManagementAppService, IFileAppService

  {

  ......

  [Authorize]

  public virtual async Task CreateAsync(FileUploadInputDto input)  郑州人流医院http://www.xasg120.net/

  {

  var allowedMaxFileSize = await SettingProvider.GetAsync(FileManagementSettings.AllowedMaxFileSize);//kb

  var allowedUploadFormats = (await SettingProvider.GetOrNullAsync(FileManagementSettings.AllowedUploadFormats))

  ?.Split(",", StringSplitOptions.RemoveEmptyEntries);

  if (input.Bytes.Length > allowedMaxFileSize * 1024)

  {

  throw new UserFriendlyException(L["FileManagement.ExceedsTheMaximumSize", allowedMaxFileSize]);

  }

  if (allowedUploadFormats == null || !allowedUploadFormats.Contains(Path.GetExtension(input.Name)))

  {

  throw new UserFriendlyException(L["FileManagement.NotValidFormat"]);

  }

  ......

  }

  }

  前端设置界面:

如何分析ABP设置管理

  下面可以随便修改下设置,进行测试:  如何分析ABP设置管理

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. Nginx设置管理
  2. 规范模式-------From ABP Document

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

abp

上一篇:大数据开发中如何接收并打印键盘输入的信息

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》