|
@@ -111,9 +111,14 @@ public class UploadImage {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static byte[] getImageCom(MultipartFile file) throws IOException {
|
|
|
+ //上传压缩的图片
|
|
|
+ public static String getImageCom(MultipartFile image) throws IOException {
|
|
|
//获取文件输入流
|
|
|
- InputStream inputStream = file.getInputStream();
|
|
|
+ InputStream inputStream = image.getInputStream();
|
|
|
+ String originalFilename = image.getOriginalFilename();
|
|
|
+ String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
|
|
|
+ String path = DateUtil.format(new Date(), "yyyy-MM");
|
|
|
+
|
|
|
try {
|
|
|
// 把图片读入到内存中
|
|
|
BufferedImage bufImg = ImageIO.read(inputStream);
|
|
@@ -124,31 +129,20 @@ public class UploadImage {
|
|
|
bufferedImage.createGraphics().drawImage(bufImg,0,0, Color.WHITE,null);
|
|
|
//先转成jpg格式来压缩,然后在通过OSS来修改成源文件本来的后缀格式
|
|
|
ImageIO.write(bufferedImage,"jpg",bos);
|
|
|
- return bos.toByteArray();
|
|
|
- } catch (IOException e) {
|
|
|
+ byte[] bytes = bos.toByteArray();
|
|
|
+ String imgname = UUID.randomUUID() + "." + filenameExtension;
|
|
|
+ sshSftp(bytes, path, imgname);
|
|
|
+ return "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
- }finally {
|
|
|
+ return "上传失败";
|
|
|
+ } 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);
|
|
|
- BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
|
|
|
- Graphics g = tag.getGraphics();
|
|
|
- g.setColor(Color.RED);
|
|
|
- g.drawImage(image, 0, 0, null); // 绘制处理后的图
|
|
|
- g.dispose();
|
|
|
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
|
|
|
- ImageIO.write(tag, "JPEG", bOut);
|
|
|
- return bOut.toByteArray();
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //上传原图
|
|
|
public String uploadImg( MultipartFile image ) {
|
|
|
String originalFilename = image.getOriginalFilename();
|
|
|
String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
|
|
@@ -166,7 +160,7 @@ public class UploadImage {
|
|
|
in.close();
|
|
|
byte[] content = out.toByteArray();
|
|
|
String imgname = UUID.randomUUID() + "." + filenameExtension;
|
|
|
- UploadImage.sshSftp(content, path, imgname);
|
|
|
+ sshSftp(content, path, imgname);
|
|
|
return "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|