第二篇 上传与下载:核心链路

上一篇把地基打好,这一篇开始砌墙。上传和下载是网盘的两条主动脉,其余所有功能都挂在它们上面。

本篇回答四个问题:

  • 客户端怎么绕过后端直传 COS:为什么是 PUT 而不是转一次。
  • 临时密钥怎么签发、有效期定多久才既安全又不烦人。
  • 大文件怎么切片、断了怎么接着传,分片大小和并发的取舍。
  • 下载怎么走私有读加签名 URL,公开桶为什么绝对不能开。

写这篇的时候我假设你已经照着第一篇把骨架搭好了:后端有两个接口、客户端能拿到 COS 的桶名。本篇的代码片段都来自我们线上跑过的实现,删掉了日志和业务耦合的部分,可以直接往自己的项目里搬。

本篇的四节之间是递进关系:先有直传,直传需要临时密钥,大文件需要分片与续传,下载是对称的签名链路。建议按顺序读,跳着读会丢了上下文。所有代码都经过线上验证,部分敏感信息已脱敏,可直接复用。 读到本篇结尾,你应该已经能搭出一条上传下载的完整链路。下一篇进入文件治理:秒传、缩略图、视频预览、内容审核,让存进来的文件好用又合规。

延伸阅读