private BufferedImage getNewImage(MultipartFile oldImage, double width, double height) throws IOException{        /*srcURl 原图地址;deskURL 缩略图地址;comBase 压缩基数;scale 压缩限度(宽/高)比例*/        ByteArrayInputStream bais = new ByteArrayInputStream(oldImage.getBytes());        MemoryCacheImageInputStream mciis = new MemoryCacheImageInputStream(bais);        Image src = ImageIO.read(mciis);        double srcHeight = src.getHeight(null);        double srcWidth = src.getWidth(null);        double deskHeight = 0;//缩略图高        double deskWidth  = 0;//缩略图宽        if (srcWidth>srcHeight) {            if (srcWidth>width) {                if (width/height>srcWidth/srcHeight) {                    deskHeight = height;                    deskWidth = srcWidth/(srcHeight/height);                }                else {                    deskHeight = width/(srcWidth/srcHeight);                    deskWidth = width;                }            }            else {                if (srcHeight>height) {                    deskHeight = height;                    deskWidth = srcWidth/(srcHeight/height);                }else {                    deskHeight=srcHeight;                    deskWidth=srcWidth;                }            }        }        else if(srcHeight>srcWidth)        {            if (srcHeight>(height)) {                if ((height)/width>srcHeight/srcWidth) {                    deskHeight = srcHeight/(srcWidth/width);                    deskWidth = width;                }else {                    deskHeight = height;                    deskWidth = (height)/(srcHeight/srcWidth);                }            }            else {                if (srcWidth>width) {                    deskHeight = srcHeight/(srcWidth/width);                    deskWidth = width;                }else {                    deskHeight=srcHeight;                    deskWidth=srcWidth;                }            }        }        else if (srcWidth==srcHeight) {            if (width>=(height)&&srcHeight>(height)) {                deskWidth=(height);                deskHeight=(height);            }            else if (width<=(height)&&srcWidth>width) {                deskWidth=width;                deskHeight=width;            }            else  if (width==(height)&&srcWidth<width) {                deskWidth=srcWidth;                deskHeight=srcHeight;            }            else {                deskHeight=srcHeight;                deskWidth=srcWidth;            }        }        BufferedImage tag = new BufferedImage((int)deskWidth,(int)deskHeight,                BufferedImage.TYPE_3BYTE_BGR);        tag.getGraphics().drawImage(src, 0, 0, (int)deskWidth, (int)deskHeight, null); //绘制放大后的图        return tag;    }

上传的MultipartFile

@RequestParam("picFile") MultipartFile file
String originalName = file.getOriginalFilename();originalName = originalName.toLowerCase();resp.setType(FilenameUtils.getExtension(originalName));String id = DateUtils.format(new Date(),"yyyyMMddHHmmssSSS");resp.setFileName(id + "." + resp.getType());File path = FileUtils.getFile(imageRootDir);FileUtils.forceMkdir(path);File ordinalFile = FileUtils.getFile(path,resp.getFileName());ImageIO.write(newImage, resp.getType(), ordinalFile);