// 生成jpg的缩略图----------------------------------------------------- // 新的缩略图保存地址 String miniFileName = request.getRealPath("/") + "upload/"+subdir + datedir + filename + "_min" + "." + ext;// 新的缩略图保存地址 uploadMiniURL = "http://www.itale.cn/upload/"+ datedir + filename + "_min" + "." + ext; miniFileName = request.getRealPath("/") + "upload/" + datedir + filename + "_min" + "." + ext; java.io.File file = new java.io.File(uploadFileName);// 读入刚才上传的文件 Image src = javax.imageio.ImageIO.read(file);// 构造Image对象 float tagsize = 200; int old_w = src.getWidth(null);// 得到源图宽 int old_h = src.getHeight(null); int new_h = 0;// 得到源图长 int new_w = 0;// 得到源图长 int tempsize; float tempdouble; if (old_w > old_h) { tempdouble = old_w / tagsize; } else { tempdouble = old_h / tagsize; } new_w = Math.round(old_w / tempdouble); new_h = Math.round(old_h / tempdouble);// 计算新图长宽 BufferedImage tag = new BufferedImage(new_w, new_h, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(src, 0, 0, new_w, new_h, null); // 输出到文件流 FileOutputStream newimage = new FileOutputStream(miniFileName); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage); encoder.encode(tag);// 近JPEG编码 newimage.close();