springmvc 文件上传及压缩的配置详解

来源:互联网 发布:exe解压软件安卓版 编辑:程序博客网 时间:2024/06/03 16:46

一。使用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

阅读全文
0 0
原创粉丝点击