public ModelAndView uploadFile(MultipartHttpServletRequest request,HttpServletResponse response)
{
ModelAndView mode =new ModelAndView();
try {
Date date=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyyMMddHHmm");
System.out.println("username"+request.getParameter("username"));
String username=request.getParameter("username");
MultipartFile file=request.getFile("uploadFile");
String uploadFileName=file.getOriginalFilename();
if(uploadFileName!=null&&uploadFileName.length()>0){
String [] str=uploadFileName.split("\\.");
//新的图片名称
String newFileName=str[0]+sf.format(date)+"."+str[1];
//String newFileName =uploadFileName.substring(uploadFileName.lastIndexOf("."))+sf.format(date);
if(checkFile(newFileName)){
InputStream isRef=file.getInputStream();
//获取服务器路径
String targetDir=request.getSession().getServletContext().getRealPath("/upload")+"\\";
File targerFile=new File(targetDir,newFileName);
FileOutputStream fos=new FileOutputStream(targerFile);
IOUtils.copy(isRef, fos);
mode.addObject("username",username);
mode.addObject("uploadFile",newFileName);
mode.setViewName("success_fileupload");
return mode;
}
else{
String message="你的文件格式错误!";
String uploadMessage="文件只支持持:xls,xlsx,jpg,gif,png,ico,bmp,jpeg格式";
mode.addObject("message",message);
mode.addObject("uploadMessage",uploadMessage);
mode.addObject("username",username);
mode.addObject("uploadFile",uploadFileName);
mode.setViewName("error_fileupload");
return mode;
}
}else{
String message="你没有上传文件!!";
mode.addObject("message",message);
mode.addObject("username",username);
mode.addObject("uploadFile",uploadFileName);
mode.setViewName("error_fileupload");
return mode;
}
} catch (IOException e) {
e.printStackTrace();
mode.setViewName("error_fileupload");
return mode;
}
}
/**
* 验证文件上传格式
* @param fileName
* @return
*/
private boolean checkFile(String fileName){
boolean flag=false;
String suffixList="xls,xlsx,jpg,gif,png,ico,bmp,jpeg";
//获取文件后缀
String suffix=fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());
if(suffixList.contains(suffix.trim().toLowerCase())){
flag=true;
}
return flag;
}
springmvc.xml:配置
<!-- 文件上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为5MB -->
<property name="maxUploadSize">
<value>5242880</value>
</property>
<property name="maxInMemorySize" value="4096" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
jsp 页面:需要自己验证格式
<input type="text" name="username"/>
<input type="file" name="uploadFile"/>
<input type="submit" id="uploadFile" name="开始上传文件" value="开始上传文件"/>
$("#uploadFile").click(function(){
var form =$("#registerform");
form.prop("action","http://localhost:8080/ssmy/CreditController/uploadFile.do");
form.submit();
});
jsp成功页面显示图片:
上传成功!
<img src="http://localhost:8080/ssmy/upload/${uploadFile }" alt="sss"/>