上传配置
配置文件的存储方式,支持本地存储和多种云存储服务。
存储类型
文件的存储方式,默认为本地存储。
| 存储类型 | 说明 | 备注 |
|---|---|---|
| 本地存储 | 文件存储在服务器本地 uploads 目录 | 可用 |
| 亚马逊 S3 | 兼容 S3 协议的对象存储服务 | 未测试 |
| 阿里云 OSS | 阿里云对象存储服务 | 未测试 |
| 腾讯云 COS | 腾讯云对象存储服务 | 可用 |
| 七牛云 Kodo | 七牛云对象存储服务 | 可用 |
| Cloudflare R2 | Cloudflare R2 对象存储 | 可用 |
| MinIO | 自建 MinIO 对象存储 | 未测试 |
最大文件大小
限制单次上传文件的最大大小,仅影响博客端的上传限制,管理端不受影响。
- 用户在博客端发表评论添加的配图:受最大文件大小限制
- 管理员在管理端添加文章配图:不受最大文件大小限制
文件命名
自定义文件存储时的命名规则,默认为 {timestamp}_{random}{ext}。
| 占位符 | 说明 | 示例 |
|---|---|---|
{timestamp} | 时间戳 | 20260319123045 |
{random} | 8位随机字符串 | a1b2c3d4 |
{YYYY} | 4位年份 | 2026 |
{MM} | 2位月份 | 03 |
{DD} | 2位日期 | 19 |
{HH} | 2位小时(24小时制) | 14 |
{mm} | 2位分钟 | 30 |
{ss} | 2位秒数 | 45 |
{type} | 上传用途类型 | avatar、article、attachment |
{userid} | 上传用户 ID | 1 |
{filename} | 原始文件名(不含扩展名) | image |
{ext} | 文件扩展名 | .jpg |
云存储配置
当存储类型非本地时显示,不同云存储服务需要配置不同的参数(✅:必需 ❌:无需):
| 存储类型 | Access Key | Secret Key | 地域 | Bucket | Endpoint | 域名 | HTTPS |
|---|---|---|---|---|---|---|---|
| 亚马逊 S3 | Access Key | Secret Key | ✅ | ✅ | 可选 | 可选 | ❌ |
| 腾讯云 COS | SecretId | SecretKey | ✅ | ✅ | ❌ | 可选 | ❌ |
| 阿里云 OSS | AccessKeyId | AccessKeySecret | ✅ | ✅ | ❌ | 可选 | ❌ |
| 七牛云 Kodo | AccessKey | SecretKey | ✅ | ✅ | ❌ | ✅ | ❌ |
| Cloudflare R2 | Access Key | Secret Key | ❌ | ✅ | ✅ | 可选 | ✅ |
| MinIO | Access Key | Secret Key | 可选 | ✅ | ✅ | 可选 | ✅ |
- Access Key / Secret Key:云存储服务的凭证,用于身份认证
- 地域(Region):用于生成对应的 API 端点地址
- Bucket:存储桶名称,云存储中存放文件的最大容器
- Endpoint(服务端点):用于指定存储服务地址
- 域名:用于生成文件访问 URL,填写后会替代默认域名
- HTTPS:R2/MinIO 可根据服务器是否配置 HTTPS 决定
关于上传
支持的文件类型
| 类型 | 文件格式 |
|---|---|
| 图片 | jpg, jpeg, png, gif, webp, svg, bmp, tiff |
| 视频 | mp4, webm, quicktime, avi, mkv, mpeg, 3gpp, flv |
| 音频 | mp3, wav, ogg, aac, flac |
| 文档 | txt, pdf, doc, docx |
| 压缩包 | zip, rar, 7z |
| 其他 | json(配置文件) |
安全限制:不允许上传可执行文件,包括 .exe, .bat, .cmd, .com, .pif, .scr, .vbs, .js, .jar, .sh 等格式。