第一步
首先导入thumbnailator 依赖
。
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
第二步
首先导入thumbnailator 依赖
。
// 为了防止图片变成红色需先转为BufferedImage
BufferedImage image = toBufferedImage(file);
BufferedImage bufferedImage= Thumbnails.of(image).size(700, 467).asBufferedImage();
//将BufferedImage转为InputStream 并将图片上传到OSS
this.uploadFile2OSS(bufferedImageToInputStream(bufferedImage), name)
将MultipartFile类转为BufferedImage对象
public static BufferedImage toBufferedImage(MultipartFile file) {
BufferedImage srcImage = null;
try {
FileInputStream in = (FileInputStream) file.getInputStream();
srcImage = javax.imageio.ImageIO.read(in);
} catch (IOException e) {
}
return srcImage;
}
将BufferedImage转为InputStream
public InputStream bufferedImageToInputStream(BufferedImage image){
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
ImageIO.write(image, "jpg", os);
InputStream input = new ByteArrayInputStream(os.toByteArray());
return input;
} catch (IOException e) {
logger.error("提示:",e);
}
return null;
}