讲一个开发遇到的问题。
开发中遇到一个需求,需要在后台表单页面支持上传视频。因为项目中一直用的是腾讯云的COS做第三方存储平台,所以视频也要上传到cos中保存。
首先想到的是使用腾讯提供的php的SDK来做,扎到文档里一顿死磕后完成了上传视频到cos的功能,但在测试中就遇到了问题,本地开发测试用的都是几兆的小视频,上传没问题。但在线上上传超过10M的视频时耗时就会很长,而且受限于服务器与带宽的限制速度也上不去,结果是超时失败。
百度后调整了php的脚本最大执行时间和服务器缓存上限,但是还是达不到想要的效果。一番痛苦的挣扎后终于解决了它。解决的办法是使用js的sdk直接在本地以文件流的方式发起上传。因为不再经过php的上传机制所以无需担心文件大小超限制。而且在相同的服务器环境下上传速度显著提升。同时sdk的上传接口还会将上传信息及时回调。只需要做一个简单的计算和封装即可实时显示上传进度和速率。这里记录下来,希望对同样遇到此问题的同学有所帮助。
author:zmq