|
@@ -110,8 +110,31 @@ public class UploadImage {
|
|
|
System.out.println("上传成功!");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public static byte[] getImageCom(MultipartFile file) throws IOException {
|
|
|
+ //获取文件输入流
|
|
|
+ InputStream inputStream = file.getInputStream();
|
|
|
+ try {
|
|
|
+ // 把图片读入到内存中
|
|
|
+ BufferedImage bufImg = ImageIO.read(inputStream);
|
|
|
+ // 压缩代码,存储图片文件byte数组
|
|
|
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
|
|
+ //防止图片变红,这一步非常重要
|
|
|
+ BufferedImage bufferedImage = new BufferedImage(bufImg.getWidth(), bufImg.getHeight(), BufferedImage.TYPE_INT_RGB);
|
|
|
+ bufferedImage.createGraphics().drawImage(bufImg,0,0, Color.WHITE,null);
|
|
|
+ //先转成jpg格式来压缩,然后在通过OSS来修改成源文件本来的后缀格式
|
|
|
+ ImageIO.write(bufferedImage,"jpg",bos);
|
|
|
+ return bos.toByteArray();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }finally {
|
|
|
+ inputStream.close();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
public static byte[] resizeImage(byte[] srcImgData, float reduceMultiple) throws IOException {
|
|
|
BufferedImage bi = ImageIO.read(new ByteArrayInputStream(srcImgData));
|
|
|
+
|
|
|
int width = (int) (bi.getWidth() * reduceMultiple); // 源图宽度
|
|
|
int height = (int) (bi.getHeight() * reduceMultiple); // 源图高度
|
|
|
Image image = bi.getScaledInstance(width, height, Image.SCALE_SMOOTH);
|
|
@@ -125,6 +148,7 @@ public class UploadImage {
|
|
|
return bOut.toByteArray();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
public String uploadImg( MultipartFile image ) {
|
|
|
String originalFilename = image.getOriginalFilename();
|
|
|
String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
|