业务附件怎么和记录一起管理:版本替换、删除恢复与权限核对

把附件身份、文件版本和业务引用分开管理,才能说明当前用哪版、历史审批看过哪版,以及恢复后谁还能访问。

阅读目录5 个章节

业务附件要和记录一起管理,不能只在页面保存一个文件地址。应区分附件身份、文件版本和业务引用,明确替换后哪版生效、旧审批仍指向哪版、删除后能恢复什么,以及预览和下载如何校验权限。先把这些状态写清,再选择文件存储方式。

从一张业务记录建立附件关系

以合同附件为设计示例:同一合同可以有草稿、签署件和补充材料,每项附件又可能多次更新。合同编号用于归属,附件编号用于识别材料,版本编号用于识别一次文件内容;用户文件名只便于阅读,不应承担唯一身份。

建议记录附件类别、原文件名、存储引用、大小、内容校验值、上传人、时间和处理状态。校验值用于核对内容,不代表上传者拥有业务权限。将这些字段写入软件需求文档,再按软件定制开发范围确认版本页、权限和恢复功能。

替换文件时,当前版本与历史引用分别处理

员工上传第二版合同后,可以将它设为当前版本,同时保留第一版。此前审批引用第一版时,审批详情仍应打开当时的文件,不能随着“当前文件地址”一起悄悄变成第二版。若新版本必须重新审批,应显示待确认状态,而不是沿用旧批准结果。

并发上传也要有判断:两个人都从第一版开始修改,后到达的文件不应无提示覆盖先到达版本。可要求上传时携带基于哪一版,发现当前版本已变时提示核对,再由有权人员确定生效版本。

Amazon S3 版本机制可在启用版本控制后保留同一对象的新旧版本,但存储版本不会自动变成合同的审批版本。业务系统仍要保存附件版本与流程引用之间的关系,其他存储产品也应核验各自能力。

删除和恢复是两类业务动作

先区分移除引用、软删除与物理清理

从某张记录移除附件,不一定意味着文件已无其他引用;软删除只是使其不再出现在正常列表;物理清理则可能不可恢复。需求中分别说明谁可执行、可恢复期限、涉及历史审批时如何处理,以及清理前需要核对哪些引用。

S3 在版本控制开启时,普通不带版本编号的删除会建立删除标记;指定版本删除则可能永久删除该版本。不能把“启用了版本”写成所有误删都可恢复,更不能忽略清理策略对旧版本的影响。

恢复后重新检查归属和权限

恢复业务记录时,要核对附件文件仍存在、引用仍正确。恢复某个旧版本时,可将它作为新的当前选择并记录操作,而不是抹掉中间发生的版本变化。组织和岗位可能已改变,应按当前授权判断谁能访问,不能照搬当年的可见名单。

同一材料的预览、原件和压缩包都要受控

缩略图、转换后的预览、原文件和打包下载,都是附件的访问路径。复制地址后能否绕过业务记录权限,应在验收中实测。OWASP 文件上传建议要求检查上传者身份及访问、修改文件的权限,并根据安全与业务条件选择存储位置。隐藏页面按钮不足以保护直接下载入口。

如果系统也管理工业检测图像,可参考原图、识别结果与复核记录关联;但普通合同附件不需要照搬相机帧和检测事件模型,按真实业务对象建立关系即可。

用中断和恢复样例检查完整交付

交付时保留字段关系、版本规则、恢复步骤、权限样例和清理记录,并用一份包含业务数据与文件的恢复样本核验引用能重新打开。