案例一:
- 假如使用阿里的 oss
- 网站用户通过后台把文件上传到阿里,后台把唯一文件名返回给前端。
- 当前端想要获取文件的时候,统一访问一个接口
api/files/{file}
。
- 如果直接拿着 oss 返回的链接去请求,oss 会返回权限不足的提示。
- 这时候想要文件的用户不能匿名,必须登录我们的网站,然后再通过我们的接口再去请求 oss,
- 后台接口验证当前用户身份。然后把文件从 oss 读取回来返回给前端。
- 这样子在第 6 步额时候会不会有问题?下载文件不再是通过直接访问静态资源的 url,而是通过 PHP 文件。
- 而且这样子是不是多了一倍的时间?假如直接下载一个静态资源 xuexi.mp4 需要 10 s,而现在后台 api 先从 oss 下载一次需要 10 s,然后前端再从后台读取 oss 返回的响应 10 s。
- 读取静态资源文件的时候,一步到位直接读取。如果是大文件本地还是可以用 stream,远程还是直接读取响应然后输出?
在自己的网站做一个邮件模块,使用阿里,用的 smtp
- 当用户查看自己的邮件详情的时候,里面有一个超大附件
- 是不是也要先从阿里的邮件服务下载回那个附件的所有内容,然后再返回给前端?
- 有没有其他更好的办法?