
### 1. 使用 Servlet API
Servlet API 是 Java 后端开发中常用的工具之一,它提供了处理 HTTP 请求和响应的机制。我们可以使用 `ServletOutputStream` 来发送视频流。
java
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("video/mp4");
response.setHeader("Content-Disposition", "attachment; filename=video.mp4");
File videoFile = new File("/path/to/video.mp4");
FileInputStream fis = new FileInputStream(videoFile);
BufferedInputStream bis = new BufferedInputStream(fis);
ServletOutputStream out = response.getOutputStream();
int len;
byte[] buffer = new byte[1024];
while ((len = bis.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
bis.close();
fis.close();
}
### 2. 使用 Spring Boot
Spring Boot 是一个流行的 Java 应用框架,它简化了配置和部署。我们可以使用 Spring Boot 的 `ResponseBody` 注解来发送视频流。
java
@RestController
public class VideoController {
@GetMapping("/video")
public void sendVideoStream(@RequestParam("video") String videoPath, HttpServletResponse response) throws IOException {
response.setContentType("video/mp4");
response.setHeader("Content-Disposition", "attachment; filename=video.mp4");
try (FileInputStream fis = new FileInputStream(videoPath)) {
IOUtils.copy(fis, response.getOutputStream());
}
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv183937