将缓冲图像转换为MultipartFile

时间:2013-08-09 00:39:16

标签: java image spring spring-mvc

使用Spring MVC& JSP

我的情景 -

用户上传图像文件(gif,jpg,png),如果文件与尺寸不匹配,那么文件需要在jsp上进行缩放和显示为预览。

我有MultipartFile(上传文件),我将其转换为BufferedImage,然后使用Graphics2D调整BufferedImage的大小。我想再次将这个缓冲的图像转换为multipart文件,以便在jsp上显示它。

如何将缓冲的图像转换为MultipartFile?

由于

2 个答案:

答案 0 :(得分:1)

我怀疑这句话是否正确:我想再次将此缓冲图像转换为多部分文件以在jsp上显示

据我所知,您需要:

  1. 将转换后的图像写入磁盘并使用html <img..>标记或
  2. 显示
  3. 创建一个spring mvc handler方法,将图像直接写入响应体,类似这样
  4. @RequestMapping(..)
    public void convertedImg(HttpServletResponse resp) {
      // set response Content-Type..
      OutputStream os = resp.getOutputStream();
      //.. write your converted image into os
    }
    

答案 1 :(得分:1)

您可以使用ImageIOBufferedImage写入某种文件格式。

像:

BufferedImage image; // your image
OutputStream stream; // your output

try {
    ImageIO.write(image, "png", stream);
}
finally {
    stream.flush();
}

stream可以是服务器文件系统的FileOutputStream,数据库blob的OutputStream或servlet响应的OutputStream,具体取决于您在何处/如果您想存储它。