关于加入文件分享和文件加密功能

来源:8-9 阿里云OSS本章小结

秋水x

2020-05-01

老师,如果想在该项目基础上添加文件分享(比如某用户将自己的文件以下载链接的形式分享)、加密功能(比如某用户对某些文件做下载、删除操作时需要输入预设的密码等)的话,有没有什么比较常见的实现的思路可以借鉴呢?

写回答

1回答

xiaomo

2020-05-01

同学你好,一般做网盘文件的链接分享时,可以加提取码(应该就是你说的预设密码?),大致的流程如下:

(1) 服务端对某个资源,按一定的规则生成一个带时效的链接,及提取码;
(2) 将该用户相关id信息, 文件hash, 链接,提取码等映射信息写入到缓存或数据库;
(3) 别的用户拿到这个分享的链接url(带校验码)后,输入url打开网页;
(4) 网页去请求服务端,服务端进行校验:按给定规则查询校验码和提取码记录,以及校验码(类似签名)的有效性;
(5) 校验通过后,根据映射记录,得到文件hash等关键信息;
(6) 根据文件hash生成带有时效性的下载链接(一般是url里带有时效性的签名参数);
(7) 用户拿到下载链接后,在有效时间内就可以进行这个分享的文件下载了。

1
0

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程