对象存储中的文件如何生成预览链接
把源文件下载授权与浏览器阅读授权分开设计,减少接入中的过期和泄露问题。
源文件地址由后端提供
使用私有对象存储时,业务后端可以为源文件签发有期限的 GET 地址,再提交给 96DOC。预览服务需要能够下载该地址;仅用户浏览器能访问,而服务器不能访问的地址无法完成转换。
签名时间需要覆盖下载阶段
源文件签名的有效时间应覆盖排队及下载所需时间。过短的期限可能使任务在真正获取文件时失败。不要把任务已受理误认为源文件已经下载完成。
阅读链接有自己的规则
文件下载并转换后,缓存和分享规则按预览服务配置处理。源 GET 地址过期不等于已生成阅读内容立即失效;需要限制阅读时,应另外设置分享期限、密码或业务侧鉴权。
避免向前端重复暴露源地址
如果目标是减少原 URL 出现在前端的机会,业务后端应只返回签名阅读入口。公开源文件仍可能被直接读取,关闭预览页下载按钮不能改变对象存储权限。
建议的验收方法
上线前可测试两个期限不同的源签名地址,分别观察排队后是否成功下载,并检查错误提示是否暴露无关敏感参数。资料更新时,还要验证相同对象地址对应的新版本如何触发重新处理。源文件存储、预览缓存和用户阅读权限应各自有明确责任方,不应仅靠延长签名期限覆盖所有情况。