谷歌浏览器video标签播放视频不能拖动进度条
当前端video的src不是直接使用视频文件的地址,而是通过后台下载接口返回文件流时,后台返回流因为没为response的header设置一些参数,会在部分浏览器出现问题,比如在谷歌浏览器无法拖动进度条,因为Chrome浏览器默认请求会在 Header 添加一个Range如下:服务器要做的就是响应这个Header,所以做了Range的判断,存在则做一些处理
关键代码
String rangeString = request.getHeader("Range");
if (rangeString != null && rangeString.trim().length() > 0 && !"null".equals(rangeString)) {
long range = Long.valueOf(rangeString.substring(rangeString.indexOf("=") + 1, rangeString.indexOf("-")));
response.setHeader("Content-Type", "video/mp4");
response.setContentLength(Math.toIntExact(file.length()));//10000是视频文件的大小,上传文件时都会有这些参数的
response.setHeader("Content-Range", String.valueOf(range + (file.length(