附件
存储策略
为了能够更加灵活地管理附件的存储位置,Halo 提供了存储策略的概念。
Halo 默认提供了本地的存储策略类型,你还可以通过安装插件的方式扩展其他的存储策略类型。一个存储策略包含了存储提供者,具体存储位置等使用该类型存储所必要的各种信息。
目前除了 Halo 内置的本地存储,在应用市场中也有三方的存储插件:https://www.halo.run/store/apps?tag=storage
此外,如果你期望对接类似于阿里云、腾讯云的对象存储,可以考虑使用 对象存储(Amazon S3 协议) 插件,此插件兼容市面上所有支持 S3 协议的对象存储厂商。
你可以点击附件页面右上角的 存储策略
按钮对存储策略进行管理。
新建存储策略
点击存储策略列表右上方的 +
添加按钮即可新建一个存储策略。
添加时首先需要选择一种存储策略类型,系统内置的存储策略为本地存储,图中的 S3 对象存储
由对象存储(Amazon S3 协议)提供,此文档以本地存储为例。
添加一个本地存储时,你需要输入名称及存储位置信息。其中的存储位置决定了使用该存储策略的附件,在服务器上的实际存储路径,路径规则为 {Halo 工作目录}/attachments/{存储位置}
,其中的 Halo 工作目录由安装时指定的参数决定,默认为 ~/.halo2
。
默认的 Docker 部署方式,实际存储位置由挂载到 Halo 容器工作目录的服务器目录所决定。
管理存储策略
点击存储策略列表指定存储所在行后方的 ···
更多操作按钮即可对该存储策略进行编辑或删除。
为了保护附件安全避免用户误操作,当存储策略下存在附件时,该存储策略不允许删除。如果确定要删除某个存储策略及该存储策略中的所有附件,可以先按照存储策略对附件进行筛选,先批量删除存储策略下的所有附件,再删除存储策略。
附件分组
通过附件分组功能可以方便地将同一类型、同一用途的附件划分到一个分组中,方便后续附件的管理和插件。
附件所使用的存储策略决定了附件的实际存储位置和 URL 规则,而附件分组功能仅是逻辑上的归类划分,不会影响附件的存储位置及 URL。
新建分组
点击附件列表上方的 添加分组
按钮即可新建一个分组。
删除分组
点击附件列表上方指定分组上的 ···
更多按钮,可以对分组进行重命名或删除操作。
Halo 目前提供了两种分组删除策略:
-
删除并将附件移动至未分组:分组被删将被删除,分组下的附件移动到未分组中。
-
删除并同时删除附件:先删除下的所有附件后,再删除该分组。
注意当使用
删除并同时删除附件
方式时,分组下的所有附件会被同时删除且不可恢复、无法找回,请谨慎进行该操作。
上传附件
点击附件列表右上方的 上传
按钮即可上传新的附件到 Halo。
- 存储策略选择:你可以选择需要使用的存储策略,为了方便,选择之后会在浏览器记住这个选项。
- 分组选择:你可以选择需要上传到的分组,为了方便,选择之后会在浏览器记住这个选项。
- 上传区域:同时支持拖拽文件、 点击上传区域选择文件、粘贴文件。
查看附件
点击附件列表中的某一个附件即可查看该附件的详细信息。
- 预览区域:目前支持图片、视频、音频的预览。
- 链接:目前可以显示并复制链接、HTML 格式代码、Markdown 格式代码。
删除附件
目前有两种删除附件的方式,你可以选中一些附件进行批量删除或者点击指定附件所在行后方的 ···
更多按钮,对单个附件进行删除操作。
附件删除后不可恢复、无法找回,请谨慎进行该操作。
移动附件
与批量删除操作类似,你可以选中多个附件后在上方的批量操作按钮中选择 移动
操作,将所选附件移动到指定的分组中。
需要注意的是,目前移动附件只支持移动分组,不支持存储策略的移动。