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