# 资料上传简化方案 日期:2026-10-12。状态:按用户“还是不设计这么复杂”收缩方案;内部代码与隔离验证已完成,真实上传默认关闭、未上线,见[开发记录](../../私有资料上传开发-20261012.md)。本文件替代此前复杂提案,后续按此范围推进。 ## 要做的功能 沿用小程序现有资料选图,只补三个操作:上传照片、本人查看、本人删除。资料继续选填,不增加融资28项填写内容。 复用项目已有登录鉴权、图片校验方式和现有界面。通用Upload类会写public/uploads,因此私有资料不直接调用该公开保存分支;只补必要的私有保存逻辑,不重做通用上传系统。 ## 最小实现 - 使用当前服务器的一处私有目录,放在Web可访问目录之外;服务端生成随机文件名。 - 新增一张小型资料表,保存附件ID、所属用户、资料类别、存储位置、格式/大小、同意记录及创建/删除信息,不放入公开附件列表。 - 上传使用现有Bearer登录和documents同意记录;查看、删除校验所属用户,其他用户不能访问。撤销同意后禁止新的资料上传/使用,本人仍可管理自己的资料。 - 首版接收JPG/PNG照片,单张最多5MB;检查真实图片格式、尺寸并重新编码,沿用既有Secret加密保存,不建立新的密钥体系。 - 同步完成保存与删除。文件或数据库明确失败则报告失败并处理本次文件;保存结果未知提示手动重试,不假报成功,不自动重复发送。 - 删除先使资料不可读,再删除文件;只有文件确认删除后才显示成功,失败可以对同一个附件重试。 只提供三个业务接口,沿用现有响应格式: | 接口 | 用途 | | --- | --- | | POST /api/v1/documents | multipart上传一张照片和已有资料类别/同意记录,返回documentId | | GET /api/v1/documents/:id/content | 鉴权后读取本人的照片,不返回公开文件地址 | | POST /api/v1/documents/:id/delete | 删除本人指定附件,重复删除安全返回 | 前端继续使用现有资料卡片,上传后在原位置显示照片缩略图,通过卡片菜单查看与删除,不在下方新增独立管理列表。复用已有GET /consents?scope=documents附加本人资料引用,跨离页恢复,不新增业务接口;同类多张全部可选择管理。受保护图片用带Bearer的下载请求取得临时图片再预览;不把Token塞入URL。退出或换账户时废弃迟到响应,清理本次页面持有的临时图片引用。 ## 这轮不扩展的内容 取消原提案的云存储替换层、上传命令账本/租约、专门原键查询接口、多阶段状态机、独立清理worker及一组生命周期配置。普通上传允许用户明确重试,不承诺网络回执丢失时绝不多存一份文件。 不做OCR、自动核验或外部数据查询。现有评估仍按自填资料生成报告,附件ID绑定评估时另做最小集成;不能仅移除当前拒绝附件的分支便宣称已接通,也不把上传成功当成已核验。 ## 启用与验证 代码可先在全新隔离环境实现。正式协议用途、保存期限和实际私有目录在正式启用前确定;不在本轮指定上线期限,不新增一套自动保留/删除引擎。 验证集中在正常上传/本人预览/删除、非法图片和超限、未登录/跨用户拒绝、失败提示和换账户后的迟到响应。公开头像、现有融资填写及同事产品库保持;短信仍默认关闭,产品AI回撤保持。 设计简化时仅修改方案与台账;后续内部实施及验证见开发记录。FILE-001正式存储/隐私条件仍待,FILE-002/004内部代码完成、正式未验收;真实上传默认关闭,不连接生产/迁移/发布/提交/推送,文档检查不计为功能验收。