---
title: 附件
description: 附件管理相关功能说明
---

## 存储策略

为了能够更加灵活地管理附件的存储位置，Halo 提供了存储策略的概念。

Halo 默认提供了本地的存储策略类型，你还可以通过安装插件的方式扩展其他的存储策略类型。一个存储策略包含了存储提供者，具体存储位置等使用该类型存储所必要的各种信息。

:::info
目前 Halo 官方维护了两个存储策略插件，可以根据需要选择安装：

1. 阿里云 OSS：<https://halo.run/store/apps/app-wCJCD>
2. Amazon S3 协议（主流云存储厂商均支持）：<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
需要注意的是，目前移动附件只支持移动分组，不支持存储策略的移动。
:::
