视频格式Spring MVC中的文件处理

时间:2015-08-26 14:39:49

标签: spring mongodb jsp

我在Mongo Cluster中存储图像和视频类型数据。 我能够从块中获取图像列表,并能够将图像列表传递给JSP。 我想为视频做同样的事情,比如显示带有视频列表的网页。我该怎么做?

控制器中的图像处理代码:

    BufferedImage bi = ImageIO.read(imageForOutput.getInputStream());
    String imageType = StringUtils.substringAfter(imageForOutput.getFilename(),".");
    out = response.getOutputStream();
    ImageIO.write(bi, imageType, out);
    out.close();

处理图像的JSP页面:

<c:forEach items="${images}" var="image"> 
    <img src="getImg/${image[0]}/${image[1]}" width="100" height="100" />
</c:forEach>

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。 我确实喜欢下面,我把代码放在一起,好像其他人面临同样的问题然后他们可以使用它。

@RequestMapping(value = "/getVideo/{fileName}/{extension}", method = RequestMethod.GET)
public void getVideo(@PathVariable("fileName") String fileName,@PathVariable("extension") String extension,
        HttpServletRequest request,
        HttpServletResponse response, HttpSession session) 
throws IOException, ServletException {
    System.out.println("<<<<i am in video loading method, video name ...."+fileName);
    GridFSDBFile imageForOutput = loginDelegate.getImageBasedOnName(fileName);
    //OutputStream out = null;

    response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
    response.setHeader("Content-Disposition", "attachment; filename="+imageForOutput.getFilename().replace(" ", "_"));
    InputStream iStream = imageForOutput.getInputStream();
    IOUtils.copy(iStream, response.getOutputStream());
    response.flushBuffer();