Controller获得上传文件的绝对路径

  1. RequestMapping(value = "/upload", method = RequestMethod.POST)  
  2. public ModelAndView onSubmit(HttpServletRequest request,  
  3.         HttpServletResponse response) throws Exception {  
  4.   
  5.     MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;  
  6.     SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd/HH");  
  7.     /** 构建文件保存的目录* */  
  8.     String logoPathDir = "/business/shops/upload/"  
  9.             + dateformat.format(new Date());  
  10.     /** 得到文件保存目录的真实路径* */  
  11.     String logoRealPathDir = request.getSession().getServletContext()  
  12.             .getRealPath(logoPathDir);  
  13.     /** 根据真实路径创建目录* */  
  14.     File logoSaveFile = new File(logoRealPathDir);  
  15.     if (!logoSaveFile.exists())  
  16.         logoSaveFile.mkdirs();  
  17.     /** 页面控件的文件流* */  
  18.     MultipartFile multipartFile = multipartRequest.getFile("file");  
  19.     /** 获取文件的后缀* */  
  20.     String suffix = multipartFile.getOriginalFilename().substring(  
  21.             multipartFile.getOriginalFilename().lastIndexOf("."));  
  22.     /** 使用UUID生成文件名称* */  
  23.     String logImageName = UUID.randomUUID().toString() + suffix;// 构建文件名称  
  24.     /** 拼成完整的文件保存路径加文件* */  
  25.     String fileName = logoRealPathDir + File.separator + logImageName;  
  26.     File file = new File(fileName);  
  27.     try {  
  28.         multipartFile.transferTo(file);  
  29.     } catch (IllegalStateException e) {  
  30.         e.printStackTrace();  
  31.     } catch (IOException e) {  
  32.         e.printStackTrace();  
  33.     }  
  34.     /** 打印出上传到服务器的文件的绝对路径* */  
  35.     System.out.println("****************"+fileName+"**************");  
  36.     insertDate(fileName);  
  37.     return new ModelAndView("redirect:/business/shops/my.jsp");  
  38. }   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值