为业务系统提供统一文件接入能力:内容级去重避免重复占盘、PostgreSQL 落库可追溯、加密长串预览兼容历史链接,每一次访问均留痕可查。
两个域名绑定同一物理目录,由 URL 路径与扩展名区分平台逻辑与预览逻辑,无需额外网关。
承载对接指引、三个上传接口与完整的对接文档。
专门提供"加密长串"预览 / 下载,兼容历史分享链接。
?s= 与下载 ?act=download从上传、存储到分发、审计,关键能力开箱即用。
物理文件名即内容 md5,相同内容天然同路径,同一 sid 下只存一份,杜绝重复占盘。
上传者、上传 / 更新时间、文件名、类型、大小、内容哈希全记录,可追溯。
预览地址带签名校验,路径无法被篡改伪造;历史链接形态保持一致。
每次预览 / 下载写一行日志(动作、时间、IP、UA、来源),供统计与合规查证。
预览 URL 加 ?s=宽度 即返回对应宽度的缩略图,仅图片生效。
即便 PostgreSQL 暂不可用,已存在的文件仍可正常预览,仅丢失本次访问日志,绝不 500。
统一的伪 JWT 鉴权 + 三个上传接口,几分钟即可打通。
X-XSRF-TOKEN: Bearer <token>。header.payload.signature:签名 = md5(header + <签名盐> + payload),
业务校验 = md5(sid + uid + exp + <业务盐>),exp 为过期时间戳,过期即失效。| 接口 | 用途 | 入参 | 编码 |
|---|---|---|---|
Up.do | 图片上传 | img(base64) + name | application/x-www-form-urlencoded |
Up_mp.do | 移动端图片(多格式) | img(base64) + name | application/x-www-form-urlencoded |
Up_PDF.do | 文档 / 通用文件 | file(二进制) + name | multipart/form-data |
支持类型见服务端 config 的 ALLOWED_TYPES(图片 / PDF / Office / 压缩包 / 音视频等);图片限 10MB,文档限 100MB。
msg/key,形如 d1{sid}d{uid}{md5}.{ext}),它本身不是可访问地址;url 才是带签名的完整可用地址。file 字段。url / file_key。上传成功返回的 url 即完整预览地址,可直接 <img src> 或浏览器打开。
浏览器内预览(图片直接显示,文档返回封面占位)。
返回宽 300px 的缩略图(仅图片生效)。
触发下载(Content-Disposition: attachment)。
D:\up\{sid}\{h0}\{h1}\{md5内容}.{ext},物理文件名即内容 md5,相同内容天生同路径。(sid, file_hash) 双保险,重复内容只存一份,dup=1 复用。E:\up,预览时自动回退查找,迁移平滑。mzy_files:sid、上传者(uid/created_by)、上传与更新时间、文件名、类型(MIME)、大小、内容哈希、磁盘路径、访问数、状态。mzy_files_log:每次预览 / 下载写一行(动作、时间、IP、UA、来源、结果)。muzhiyun 库;完整字段结构见对接文档第七章。pdo_pgsql 与 gd(缩图)扩展。D:\up 根目录需放置 nopic01~04.jpg / pdf.jpg / mp34.jpg / doc.jpg,文件缺失或解析失败时回退显示。