springmvc改变上传图片的尺寸,高度按照宽度的比例缩放

java的代码

@RequestMapping("/admin/fileUpload")
	public String fileUpload(HttpServletRequest request,@RequestParam("file") CommonsMultipartFile file){	
		String originalFilename = file.getOriginalFilename();	
		try {
			//原文件名后缀
			String fileEnd = FilenameUtils.getExtension(originalFilename);
			//新文件名以uuid为名
			System.out.println(fileEnd);
			String fileUUID = UUID.randomUUID().toString();
			System.out.println(fileUUID);
			String serverPath = "D://home//";
			File dirs=new File(serverPath);
			if(!dirs.exists()){//判断文件夹是否存在 
				System.out.println("文件夹不存在,进行创建。");
				dirs.mkdirs();//不存在就创建
			}
			BufferedInputStream in = new BufferedInputStream(file.getInputStream());
			//字节流转图片对象
			Image bi =ImageIO.read(in);
			System.out.println(bi);
			//500 后面按比例  bi.getHeight(null)*500/bi.getWidth(null)
			BufferedImage tag = new BufferedImage(500,bi.getHeight(null)*500/bi.getWidth(null), BufferedImage.TYPE_INT_RGB);
			//绘制改变尺寸后的图
			tag.getGraphics().drawImage(bi, 0, 0, 500, bi.getHeight(null)*500/bi.getWidth(null), null);  //
			//输出流
			BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(serverPath+fileUUID+"."+fileEnd));
			System.out.println(out.toString());
			ImageIO.write(tag,fileEnd,out);
			System.out.println(ImageIO.write(tag,fileEnd,out));
			in.close();
			out.close();	
		} catch (Exception e) {
			e.printStackTrace();	
		}
		return "redirect:/file/showUpload";
	}

导入架包
在这里插入图片描述
jsp页面

<form action="${pageContext.request.contextPath }/file/admin/fileUpload" method="post" enctype="multipart/form-data">
    	文件:<input type="file" name="file"/><br/>
    	    <input type="submit" value="提交" />
    </form>
    

原图片尺寸
在这里插入图片描述
修改过后的图片,宽度固定500,高度按照比例缩放

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值