Spring Boot提供视频服务无法回看怎么解决?

Api接口定义如下:

@RestController
@RequestMapping("/api/video")
public class VideoController {
    @RequestMapping("/play")
    public FileSystemResource play() {
        File file = new File("/home/xxx/桌面/a.mp4");
        return new FileSystemResource(file);
    }
}

前端页面:

<video src="/api/video" controls></video>

虽然能播放但不能使用进度条控制进度

阅读 3.4k
1 个回答

已解决:原来在调节视频播放进度时浏览器会重新发请求,并将进度信息放在Range请求头里面,将外部文件夹映射为静态资源就可以回看了或者自己实现处理Range

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        super.addResourceHandlers(registry);
        registry.addResourceHandler("/api/video/**").addResourceLocations("file:///home/xxx/桌面/");
    }

静态资源映射产生的响应体及请求体
直接返回FileSystemResource产生的响应体及请求体

推荐问题