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,高度按照比例缩放