请教个问题:
有这么个项目需求, 想让学生在线学习学英语课程, 然后对学生进行笔试和口语测试.
- 笔试好说,
-
口语测试, 想让学生自己录制视频, 然后在项目网站中上传, 管理员可以在线观看和管理. 这个怎么实现呢?
- 之前laravel项目, 视频文件好像是直接存储在项目文件所在的服务器.
- 假设视频文件很多, 体积也较大, 应该怎么处理? 另外再买个对象存储服务器专门用来存储服务器文件?
- 如果使用单独的服务器存储, 该怎么部署呢? 比如说用户点击上传按钮后, 文件被上传到这个服务器, 需要怎么设置呢?
1)如果不涉及到重要资源和频繁的维护,可以直接通过流的形式上传并存储到本地服务器中,因为硬盘是很便宜的。
2)如果需要在本地存储资源,以thinkphp5.1为例
如果文件较大,还得根据需要设置:
1)代理服务器的缓存大小
2)请求的body大小
3)服务器超时时间
最后,还可能会涉及到分片上传,断点续传等等。
如果数据比较重要或需要对文件进行方便的管理,和频繁的维护。
建议使用OSS,原因:
1)提供了稳定和健全的api
2)提供了图片和视频等文件压缩和处理的服务,不需要自己写代码处理
3)提供备份等服务。
4)根据不同的IO频率、文件大小和带宽使用需求,都提供了不同的解决方案。