2

使用 Spring MVC & JSP

我的场景-

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

我有MultipartFile(这是上传的文件),我将其转换为BufferedImage然后我使用Graphics2D. 我想再次将此缓冲图像转换为多部分文件以在 jsp 上显示它。

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

谢谢

4

2 回答 2

1

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

据我所知,您需要:

  1. 将转换后的图像写入磁盘并使用 html<img..>标签显示,或
  2. 创建一个 spring mvc 处理程序方法,将图像直接写入响应正文,如下所示

.

@RequestMapping(..)
public void convertedImg(HttpServletResponse resp) {
  // set response Content-Type..
  OutputStream os = resp.getOutputStream();
  //.. write your converted image into os
}
于 2013-08-09T02:28:11.873 回答
1

您可能可以使用ImageIO将您的文件写入BufferedImage某种文件格式。

喜欢:

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

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

哪里stream可以是FileOutputStream服务器的文件系统、OutputStream数据库 blob 或 servlet 响应的OutputStream,具体取决于您要存储它的位置/是否要存储它。

于 2013-08-09T12:10:16.257 回答