# 文件管理 (/docs/use/files)

Mix Space 后台提供了文件管理功能，支持图片、图标、头像和普通文件的上传、浏览与管理。

## 文件管理界面

登录后台，进入「文件」页面。页面分为以下标签：

| 标签 | 说明 |
|------|------|
| **图标** | 站点使用的图标文件 |
| **头像** | 用户头像文件 |
| **图片** | 文章和内容中使用的一般图片 |
| **文件** | 其他普通文件 |

<Callout type="info">
服务端实际支持 6 种文件类型：图标、头像、图片、文件、**视频**、**音频**。后两种类型在后台界面可能不单独展示为标签，但可以通过接口上传。
</Callout>

### 文件操作

| 操作 | 说明 |
|------|------|
| **上传** | 拖拽或点击上传文件，支持批量上传 |
| **复制链接** | 复制文件的 URL 地址 |
| **在新标签页打开** | 预览文件 |
| **删除** | 删除不需要的文件 |

<Callout type="info">
在编辑器中粘贴或拖拽图片时，文件会自动上传到「图片」分类中。
</Callout>

## 评论图片管理

在文件管理页面的「评论图片」标签中，可以查看和管理读者在评论中上传的图片：

- 按评论归属查看图片
- 删除不当图片
- 查看孤立图片（未被引用的图片）

孤立图片会在设定时间后被系统自动清理。

## 文件上传配置

进入后台「设置 → 存储 → 图片存储」，可以自定义文件命名和存储规则：

| 配置项 | 说明 |
|--------|------|
| **启用自定义文件命名** | 开启后使用下方定义的命名模板 |
| **文件名模板** | 定义上传文件的命名规则 |
| **文件路径模板** | 定义文件的存储路径规则 |

### 占位符

文件名和路径模板支持以下占位符：

| 占位符 | 说明 |
|--------|------|
| `{Y}` | 年份（4 位） |
| `{y}` | 年份（2 位） |
| `{m}` | 月份 |
| `{d}` | 日期 |
| `{h}` | 小时 |
| `{i}` | 分钟 |
| `{s}` | 秒 |
| `{ms}` | 毫秒 |
| `{timestamp}` | Unix 时间戳（**毫秒级**） |
| `{md5}` | 随机 MD5（32 位） |
| `{md5-16}` | 随机 MD5（16 位） |
| `{uuid}` | UUID |
| `{str-N}` | N 位随机字符串 |
| `{filename}` | 原文件名（含扩展名） |
| `{name}` | 原文件名（不含扩展名） |
| `{ext}` | 扩展名，**含前导点**（形如 `.jpg`） |
| `{readerId}` | 读者 ID，仅评论图片上传可用 |

路径模板额外支持 `{type}`（文件类型）和 `{localFolder:N}`（原文件所在文件夹层级）。

### 示例

<Callout type="warn">
`{ext}` 自带前导点，模板里**不要再写点号**，否则会得到 `abc.jpg.jpg` 这样的双扩展名。
</Callout>

- 文件名模板：`{Y}/{m}/{md5}{ext}` → 上传后路径为 `2024/01/abc123def456.jpg`
- 路径模板：`images/{type}/{Y}{m}{d}/{md5-16}{ext}` → 按类型和日期分目录存储

<Callout type="warn">
修改文件命名模板后，仅对新上传的文件生效。已上传的文件不会自动重命名。
</Callout>