实现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;
}