Java 将缓冲图像转换为多部分文件
使用springmvc和JSP 我的情景- 用户上载图像文件(gif、jpg、png),如果文件与尺寸不匹配,则需要在jsp上对文件进行缩放和禁用,作为预览 我有Java 将缓冲图像转换为多部分文件,java,image,spring,spring-mvc,Java,Image,Spring,Spring Mvc,使用springmvc和JSP 我的情景- 用户上载图像文件(gif、jpg、png),如果文件与尺寸不匹配,则需要在jsp上对文件进行缩放和禁用,作为预览 我有MultipartFile(上传的文件),我将其转换为buffereImage,然后使用Graphics2D调整buffereImage的大小。我想再次将这个缓冲图像转换成多部分文件,以便在jsp上显示它 如何将缓冲图像转换为多部分文件 谢谢我怀疑这句话是否正确:我想再次将这个缓冲图像转换成多部分文件,以便在jsp上显示它 据我所知,您
MultipartFile
(上传的文件),我将其转换为buffereImage
,然后使用Graphics2D
调整buffereImage的大小。我想再次将这个缓冲图像转换成多部分文件,以便在jsp上显示它
如何将缓冲图像转换为多部分文件
谢谢我怀疑这句话是否正确:我想再次将这个缓冲图像转换成多部分文件,以便在jsp上显示它 据我所知,您需要:
标记显示,或您可能可以使用
ImageIO
将buffereImage
写入某种文件格式
比如:
其中,
stream
可以是服务器文件系统的FileOutputStream
,数据库blob的OutputStream
,或者servlet响应的OutputStream
,具体取决于存储位置/如果您想存储它。尝试描述您想对图像做什么。您可能不需要将其转换回MultipartFile
。是否要将其存储(在文件中?在数据库中?)?是否要在JSP标记中显示带有图像的JSP?或者您只是想在服务的响应中返回重新缩放的图像?也就是说,您可以将其以Blob二进制格式存储到数据库中。然后,您需要直接从该格式显示它,或者出于多种目的将其转换为另一个对象(例如:MultipartFile)。
@RequestMapping(..)
public void convertedImg(HttpServletResponse resp) {
// set response Content-Type..
OutputStream os = resp.getOutputStream();
//.. write your converted image into os
}
BufferedImage image; // your image
OutputStream stream; // your output
try {
ImageIO.write(image, "png", stream);
}
finally {
stream.flush();
}