附件上传

附件上传内容

版本 v1.0.7· 张先生 · 59 次获取 · 内容
附件上传:发帖拓展上传附件,支持付费下载、后缀限制与多种储存位置。
免费

详情介绍

一、插件简介

项目说明
插件标识attachment
版本1.1.3
分类标签内容
前台入口帖子详情页附件列表;发帖页拓展(无独立页面)
后台入口应用中心配置;后台帖子编辑表单拓展

发帖拓展插件:作者在发帖时可上传附件(支持多文件),可设置积分/金币付费下载。支持配置允许后缀、单文件大小、单帖数量上限及储存位置(本地文件管理或光鸭云盘)。

二、核心能力

能力说明
多附件上传单帖可挂载多个附件(上限可配置)
付费下载每个附件可独立设置价格与币种
作者分成付费解锁收益可发放给帖子作者
后缀白名单可配置允许上传的文件扩展名
大小/数量限制单文件 MB 上限、单帖附件数上限
双储存本地文件管理 或 光鸭云盘(需 guangya 插件)
VIP 跳过VIP 配额内可跳过付费附件
下载统计记录附件下载次数
生命周期钩子帖子保存/删除时同步附件数据
插槽topic_after_contentcompose_extraadmin_topic_formcompose_assets

三、依赖与安装

  1. 将插件置于 plugins/attachment/
  2. 在应用中心安装「附件上传」。
  3. 安装时创建 topic_attachmenttopic_attachment_unlock 表。
  4. 依赖community(发帖、Coin 服务)。
  5. 可选guangya(云盘储存)、vip(跳过付费下载)。

四、应用中心基础配置

配置项类型默认值说明
启用附件上传开关关闭后发帖页不展示附件拓展,帖内也不渲染附件列表
付费下载分成给作者开关开启后用户付费解锁时,等额币种(积分/金币)发放给帖子作者
可上传用户组多选不勾选表示全部用户组不可用;仅勾选的用户组可在发帖时上传附件。后台管理员不受限
允许后缀文本zip,rar,7z,pdf…英文逗号分隔,如 zip,pdf,doc;不区分大小写
单文件大小(MB)数字20单个附件上限,建议不超过服务器/PHP 上传限制
单帖附件数量数字10每个主题最多可挂载的附件数(1–50)
储存位置选择文件管理(本地)「文件管理」存本地并写入附件库;「光鸭云盘」需先安装并启用光鸭插件且完成登录

五、后台重点配置

无独立后台菜单。储存选「光鸭云盘」时需:

  1. 安装并启用 guangya 插件。
  2. 在光鸭插件中完成账号登录授权。
  3. 确认 PHP upload_max_filesizepost_max_size 不小于配置的单文件上限。

六、前台用户流程

作者发帖

  1. 在发帖拓展区「附件」区块点击上传(需用户组有上传权限)。
  2. 选择文件;可设置每个附件是否付费及价格/币种。
  3. 发布帖子;附件列表显示在正文下方。

读者下载

  1. 打开帖子查看附件列表。
  2. 免费附件直接下载;付费附件需解锁后下载。
  3. VIP 用户在配额内可跳过付费附件。

前台路由

方法路径说明
POST/attachment/upload上传附件
POST/attachment/unlock付费解锁附件
GET/attachment/download下载附件(鉴权后)

七、后台审核与运维

无审核流程。卸载会删除 topic_attachmenttopic_attachment_unlock 表及附件关联数据。

帖子生命周期

  • afterTopicSave:帖子保存后同步附件(AttachmentService::syncForTopic)。
  • afterTopicsDeleted:帖子删除时清理附件引用。
  • topicMetaMap:为列表页提供附件元信息。
  • fileReferenceKeys:返回 /storage/attachments//guangya/file/ 供文件清理引用。

八、特殊说明

  • 插槽topic_after_contentcompose_extraadmin_topic_formcompose_assets
  • 数据表topic_attachment(帖子附件,含 price/currency/download_count)、topic_attachment_unlock(解锁记录)。
  • 储存驱动localguangya,由 storage_driver 配置。
  • Schema 迁移:自动补充 price、currency、download_count 字段及解锁表。
  • coinTypeLabels:注册「附件下载」币种类型标签供社区展示。

九、推荐上线清单

  • 配置允许后缀、大小与数量限制
  • 设置可上传用户组(务必勾选允许的用户组)
  • 确认 PHP 与 Nginx 上传限制足够
  • 若使用光鸭,完成 guangya 插件配置
  • 测试上传、付费解锁、下载全流程
  • 测试帖子删除后附件清理

十、常见问题

Q:上传失败或提示文件过大? 检查应用中心「单文件大小」、PHP upload_max_filesizepost_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
    首次发布
微信客服 微信客服