【发布时间】:2023-03-23 17:10:01
【问题描述】:
我们正在开发一个 Web 应用程序,我们必须在其中向用户显示视频列表,因此面临的 chrome 问题不允许视频转发,因此请建议我们提供更好的解决方案
控制器代码
@RequestMapping(value="GetVideo.ht", method=RequestMethod.GET)
public void getImage(@RequestParam("video_name") String name,
HttpServletResponse response,
HttpServletRequest request) throws IOException {
System.out.println("I am from GetVideo.ht");
HttpHeaders headers = new HttpHeaders();
// response.setContentType("video/mp4");
headers.set("Accept-Ranges", "bytes");
headers.set("Content-Range", "bytes=0-1025/9044858");
headers.set("Content-Transfer-Encoding", "binary");
headers.set("Content-Length", "9044858");
String decrypt = Enc.DecryptText(name);
System.out.println("decry=" + decrypt);
File imageFile = new File(decrypt);
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
response.setHeader("Content-Disposition", "attachment; filename=" + imageFile.getName().replace(" ", "_"));
InputStream in = new FileInputStream(imageFile);
IOUtils.copy(in, response.getOutputStream());
in.close();
}
在jsp页面中
<c:forEach items="${user_videos}" var="v" varStatus="status">
<div id="${status.index}" class="tabcontent">
<div class="col-lg-12 text-center pt-4">
<video class="video-js vjs-default-skin" width="670" height="400"
controls id="vid${v.video_id}" onplay="loadVideo(${v.video_id},${status.index})">
<source src="GetVideo.ht?video_name=${v.uploaded_video}"
type="video/mp4" >
</video>
</c:forEach>
【问题讨论】: