java图片的上传裁剪功能实现

实现java图片上传和裁剪(js代码略):

1.引入jimiProClasses.jar包;

2.导入我写好的工具类(实现源码在附件);

3.使用代码:

//上传图片
 public Boolean uplodImg(String userimgname,File uploduserimg,String sourceSrc,String newSrc,int zoom) {
  
  if (userimgname != null
    && (userimgname.endsWith(".JPG")
      || userimgname.endsWith(".PNG")
      || userimgname.endsWith(".GIF")
      || userimgname.endsWith(".JPEG")
      || userimgname.endsWith(".jpg")
      || userimgname.endsWith(".png")
      || userimgname.endsWith(".gif")
      || userimgname
       .endsWith(".jpeg"))) {
   if (uploduserimg != null) {
    String str = this.getClass().getResource("/").getPath();
    File f = new File(str);
    File ff = new File(f.getParent());
    File file = new File(ff.getParent()+sourceSrc);
    String resourceSrc = ff.getParent();
    try {
     FileUtils.copyFile(uploduserimg, file);
     
     PicUtil.toReduce(file.getPath(), resourceSrc+newSrc);
     try {
      // 缩放为前台所需大小的图片
      PicUtil.changDimension(resourceSrc+newSrc,resourceSrc+newSrc, zoom, zoom, zoom);
     } catch (Exception e) {
      e.printStackTrace();
      return false;
     }
    } catch (Exception e) {
     e.printStackTrace();
     return false;
    }
    try {
     // 删除转换之前的图片
     if (file.exists() && file.isFile()) {
      // 关闭流再删除
      FileWriter fw = new FileWriter(file);
      fw.close();
      System.out.println(file.delete());
     }
    } catch (Exception e) {
     e.printStackTrace();
//     return false;
    }

   }
  }
  return true;

 }
 
 public String cutImg(CutParame cutParame,String src){//裁剪头像
  String str =  this.getClass().getResource("/").getPath();
  File f = new File(str);
  File ff = new File(f.getParent());//取得跟路径
  String resourceSrc = ff.getParent()+src;
  //配置裁剪参数
  OperateImage oi = new OperateImage(cutParame.getX(),cutParame.getY(),cutParame.getWidth(),cutParame.getHeight());
  oi.setSrcpath(resourceSrc);
  oi.setSubpath(resourceSrc);
  try {
   oi.cut();//执行裁剪操作
   //裁减完后删除原来的图片
  } catch (IOException e) {
   e.printStackTrace();
  }
  try {
   //将图片缩放到头像大小
   PicUtil.changDimension(resourceSrc, resourceSrc);
  } catch (JimiException e1) {
   e1.printStackTrace();
  } catch (IOException e1) {
   e1.printStackTrace();
  }
  try {
   File file = new File(resourceSrc);
   if(file.exists()&&file.isFile()){
    //关闭流再删除
    FileWriter fw = new FileWriter(file);
    fw.close();
    file.delete();
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
  //裁剪成功返回图片的路径
  return src;
 }

猜你喜欢

转载自qihaha.iteye.com/blog/2068868
今日推荐