523096025 2 år sedan
förälder
incheckning
76472461b8

+ 16 - 22
admin/src/main/java/com/huimv/farm/damsubsidy/common/utils/UploadImage.java

@@ -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();

+ 16 - 15
admin/src/main/java/com/huimv/farm/damsubsidy/controller/ImagesTest.java

@@ -29,13 +29,14 @@ public class ImagesTest {
 
     @PostMapping("/test")
     public  String test( @RequestParam("image") MultipartFile image
-            ) {
-        System.out.println(image);
-        String imgname = "成功";
-        String originalFilename = image.getOriginalFilename();
-        String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
-        String path = DateUtil.format(new Date(), "yyyy-MM");
-        try {
+            ) throws IOException {
+        return   UploadImage.getImageCom(image);
+//        System.out.println(image);
+//        String imgname = "成功";
+//        String originalFilename = image.getOriginalFilename();
+//        String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
+//        String path = DateUtil.format(new Date(), "yyyy-MM");
+//        try {
 //            InputStream inputStream = image.getInputStream();
 //            BufferedInputStream in = new BufferedInputStream(inputStream);
 //            ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
@@ -48,18 +49,18 @@ public class ImagesTest {
 //            in.close();
 //            byte[] content = out.toByteArray();
             //获取压缩后的图片
-            byte[] imageCom = UploadImage.getImageCom(image);
+//            byte[] imageCom = UploadImage.getImageCom(image);
 
-            imgname = UUID.randomUUID() + "." + filenameExtension;
+//            imgname = UUID.randomUUID() + "." + filenameExtension;
 //            byte[] bytes = UploadImage.resizeImage(content, 0.5F);
-            UploadImage.sshSftp(imageCom, path, imgname);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+//            UploadImage.sshSftp(imageCom, path, imgname);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
 //        String content = "https://img.ifarmcloud.com/images" + path + "/" + imgname;
-        String content = "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
+//        String content = "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
 
-        return content;
+//        return content;
     }