一。使用commons-io.jar, commons-fileupload.jar 及 ImageUtils.java进行压缩上传,配置如下。
1.form的提交的类型 及提交的方式: enctype="multipart/form-data" method="post" 。
<form id="form1" action="myFileUploadController/save.do" enctype="multipart/form-data" method="post" >
2.文件解析器,id必须为multipartResolver(注意)
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
<property name="defaultEncoding" value="UTF-8"/>
</bean>
3. MyFileUplaodController.java的 method 处理
@RequestMapping(value="save1",method=RequestMethod.POST)
public ModelAndView upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
//进行转换
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)(request);
//获取所有文件名称
Iterator<String> it = multiRequest.getFileNames();
while(it.hasNext()){
//根据文件名称取文件
MultipartFile file = multiRequest.getFile(it.next());
String fileName = file.getOriginalFilename();
String localPath = "D:/temp/" + fileName;
File newFile = new File(localPath);
//上传的文件写入到指定的文件中
file.transferTo(newFile);
}
System.out.println("文件上2传成功-------");
return new ModelAndView("uploadSuccess");
}
//压缩上传,
CommonsMultipartFile,直接接受
@RequestMapping(value="save",method=RequestMethod.POST)
public ModelAndView save(HttpServletRequest request,HttpServletResponse response
,@RequestParam("file") CommonsMultipartFile mFile) throws Exception{
String mFileName=mFile.getOriginalFilename();
String savePath="d:/temp/"+mFileName;
System.out.println(savePath);
//将mutilpartFile 转换成file,以便获取临时文件的地址
CommonsMultipartFile cFile=(CommonsMultipartFile)multipartFile;
DiskFileItem df=( DiskFileItem)cFile.getFileItem();
File ioF = df.getStoreLocation();
//压缩方法
String timeStr=new SimpleDateFormat("yyyyMMDDHHmmss").format(new Date());
String dest=mFileName.substring(mFileName.lastIndexOf(".")+1);
String destPath="d:/temp/"+timeStr+"/"+timeStr+"."+dest;
File destFile=new File(destPath);
if(!destFile.exists()){
destFile.mkdirs();
}
//1.按指定起点坐标和宽高切割
//ImageUtils.cut(ioF.getAbsolutePath(), destPath,0,0,800, 200);
//2.按高度和宽度缩放
ImageUtils.scale2(ioF.getAbsolutePath(), destPath, 200, 800, true);
System.out.println("namepassword上传成功");
return new ModelAndView("index");
}
4.ImageUtils.java文件下载链接:http://download.csdn.net/download/yulei2008_/9579897