- springMvc文件上传创建文件夹的位置在项目里面会导致部署的时候不小心丢失图片
- 为了防止发生此类事情,我们应该把保存文件的文件夹放在webapps外面
一: 控制器层
/**
* 这是跳转到文件上传的页面
*/
@RequestMapping("toIframeUpload")
public String toIframeUpload(){
return "iframeUpload";
}
/**
* 这是文件上传的后台的方法
*/
@RequestMapping(value="uploadIframe")
public String uploadIframe(MultipartFile aa,HttpServletRequest request,Model model) throws Exception{
/**
* request.getRealPath("/") 获得当前项目的全路径名称 D:\apache-tomcat-7.0.42\webapps\springmvc\
* request.getContextPath() 获得当前的项目名 /springmvc
* realPath 得到webapps的全路径 D:\apache-tomcat-7.0.42\webapps\
* separator不区分linux下和window下的/
*/
String realPath = request.getRealPath("/").substring(0, request.getRealPath("/").lastIndexOf(request.getContextPath().replace("/", "")));
File file = new File(realPath+File.separator+"upload"+File.separator);
//创建文件上传的位置
if(!file.exists() ){
file.mkdirs();
}else{
System.out.println("文件夹已经存在");
}
int indexOf = aa.getOriginalFilename().lastIndexOf(".");
//获得文件的后缀的名称
String imageType = aa.getOriginalFilename().substring(indexOf,aa.getOriginalFilename().length());
String fileName = UUID.randomUUID().toString()&