附件上传内容
附件上传:发帖拓展上传附件,支持付费下载、后缀限制与多种储存位置。
免费
详情介绍
一、插件简介
| 项目 | 说明 |
|---|---|
| 插件标识 | attachment |
| 版本 | 1.1.3 |
| 分类标签 | 内容 |
| 前台入口 | 帖子详情页附件列表;发帖页拓展(无独立页面) |
| 后台入口 | 应用中心配置;后台帖子编辑表单拓展 |
发帖拓展插件:作者在发帖时可上传附件(支持多文件),可设置积分/金币付费下载。支持配置允许后缀、单文件大小、单帖数量上限及储存位置(本地文件管理或光鸭云盘)。
二、核心能力
| 能力 | 说明 |
|---|---|
| 多附件上传 | 单帖可挂载多个附件(上限可配置) |
| 付费下载 | 每个附件可独立设置价格与币种 |
| 作者分成 | 付费解锁收益可发放给帖子作者 |
| 后缀白名单 | 可配置允许上传的文件扩展名 |
| 大小/数量限制 | 单文件 MB 上限、单帖附件数上限 |
| 双储存 | 本地文件管理 或 光鸭云盘(需 guangya 插件) |
| VIP 跳过 | VIP 配额内可跳过付费附件 |
| 下载统计 | 记录附件下载次数 |
| 生命周期钩子 | 帖子保存/删除时同步附件数据 |
| 插槽 | topic_after_content、compose_extra、admin_topic_form、compose_assets |
三、依赖与安装
- 将插件置于
plugins/attachment/。 - 在应用中心安装「附件上传」。
- 安装时创建
topic_attachment、topic_attachment_unlock表。 - 依赖:
community(发帖、Coin 服务)。 - 可选:
guangya(云盘储存)、vip(跳过付费下载)。
四、应用中心基础配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 启用附件上传 | 开关 | 开 | 关闭后发帖页不展示附件拓展,帖内也不渲染附件列表 |
| 付费下载分成给作者 | 开关 | 开 | 开启后用户付费解锁时,等额币种(积分/金币)发放给帖子作者 |
| 可上传用户组 | 多选 | — | 不勾选表示全部用户组不可用;仅勾选的用户组可在发帖时上传附件。后台管理员不受限 |
| 允许后缀 | 文本 | zip,rar,7z,pdf… | 英文逗号分隔,如 zip,pdf,doc;不区分大小写 |
| 单文件大小(MB) | 数字 | 20 | 单个附件上限,建议不超过服务器/PHP 上传限制 |
| 单帖附件数量 | 数字 | 10 | 每个主题最多可挂载的附件数(1–50) |
| 储存位置 | 选择 | 文件管理(本地) | 「文件管理」存本地并写入附件库;「光鸭云盘」需先安装并启用光鸭插件且完成登录 |
五、后台重点配置
无独立后台菜单。储存选「光鸭云盘」时需:
- 安装并启用
guangya插件。 - 在光鸭插件中完成账号登录授权。
- 确认 PHP
upload_max_filesize、post_max_size不小于配置的单文件上限。
六、前台用户流程
作者发帖
- 在发帖拓展区「附件」区块点击上传(需用户组有上传权限)。
- 选择文件;可设置每个附件是否付费及价格/币种。
- 发布帖子;附件列表显示在正文下方。
读者下载
- 打开帖子查看附件列表。
- 免费附件直接下载;付费附件需解锁后下载。
- VIP 用户在配额内可跳过付费附件。
前台路由
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /attachment/upload | 上传附件 |
| POST | /attachment/unlock | 付费解锁附件 |
| GET | /attachment/download | 下载附件(鉴权后) |
七、后台审核与运维
无审核流程。卸载会删除 topic_attachment、topic_attachment_unlock 表及附件关联数据。
帖子生命周期
afterTopicSave:帖子保存后同步附件(AttachmentService::syncForTopic)。afterTopicsDeleted:帖子删除时清理附件引用。topicMetaMap:为列表页提供附件元信息。fileReferenceKeys:返回/storage/attachments/、/guangya/file/供文件清理引用。
八、特殊说明
- 插槽:
topic_after_content、compose_extra、admin_topic_form、compose_assets。 - 数据表:
topic_attachment(帖子附件,含 price/currency/download_count)、topic_attachment_unlock(解锁记录)。 - 储存驱动:
local或guangya,由storage_driver配置。 - Schema 迁移:自动补充 price、currency、download_count 字段及解锁表。
- coinTypeLabels:注册「附件下载」币种类型标签供社区展示。
九、推荐上线清单
- 配置允许后缀、大小与数量限制
- 设置可上传用户组(务必勾选允许的用户组)
- 确认 PHP 与 Nginx 上传限制足够
- 若使用光鸭,完成 guangya 插件配置
- 测试上传、付费解锁、下载全流程
- 测试帖子删除后附件清理
十、常见问题
Q:上传失败或提示文件过大? 检查应用中心「单文件大小」、PHP upload_max_filesize、post_max_size 及 Web 服务器限制。
Q:发帖页没有附件拓展? 检查插件启用;用户组是否在「可上传用户组」中(不勾选=全部不可用)。
Q:光鸭储存无法上传? 确认 guangya 插件已安装启用且已登录;网络可达光鸭 API。
Q:付费下载作者没收到分成? 检查「付费下载分成给作者」开关;确认解锁走 Coin 服务且作者 ID 有效。
Q:允许后缀不生效? 后缀列表英文逗号分隔,不含点号;比较时不区分大小写。
更新记录 (8)
-
v1.0.7
2026-08-30
新增 1、储存位置可选「云储存插件」(对接 storage 的 OSS/COS/七牛/FTP) 2、上传走云储存;下载跳转云端地址 3、torage 字段兼容 storage:provider 写法
-
v1.0.6
2026-08-28
修复下载权限问题
-
v1.0.5
2026-08-28
附件下载走 CDN 直链
-
v1.0.4
2026-08-25
新增兼容夸克网盘插件
-
v1.0.3
2026-08-25
1、发帖页按板块显示/隐藏入口;保存与上传接口校验板块 2、优化附件下载本地文件用 download() 强制下载 3、优化光鸭文件拉取文件后带 Content-Disposition: attachment 输出,不再裸跳代理页
-
v1.0.3
2026-08-25
发帖页按板块显示/隐藏入口;保存与上传接口校验板块
-
v1.0.2
2026-08-24
支持 only_active_extras:后台编辑时,没开过的拓展不显示空表单
-
v1.0.1
2026-08-24
首次发布