SpringMvc上传文件

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 01:28   29   0

  • Spring配置

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
     <!-- 设置上传文件的最大尺寸为1MB -->  
     <property name="maxUploadSize">  
         <value>1048576</value>  
     </property>  
 </bean>

  • jsp

<form action="<%=basePath%>upload.do" method="post" enctype="multipart/form-data">
     <input type="file" id="file" name="file" ><br>
     <input type="submit" value="上  传"/>
    </form>

  • java代码

@RequestMapping(value="/upload.do", method=RequestMethod.POST)
 public void uploadFile(HttpServletRequest request, HttpServletResponse response) throws IOException {
  System.out.println(".....");
  response.setContentType("charset=UTF-8");
  response.setCharacterEncoding("UTF-8");
  //有人说这个地方转换报错
  //org.apache.catalina.connector.RequestFacade cannot be cast to org.springframewor
  //问题就在于,你在页面Method="post", 但是Controller的RequestMapping,你没有标注, 所以自然会报错
  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
  // 获得文件   
        MultipartFile files = multipartRequest.getFile("file");   
        // 获得文件名
        String fileName = files.getOriginalFilename();
        System.out.println(fileName);
        // 获得输入流 
        InputStream input = files.getInputStream();  
        String filePath = "F:/TEMP/";
  if (files.getSize() > 0) {
   File targetFile = new File(filePath+fileName);
   if(targetFile.mkdirs()){//创建此抽象路径名指定的目录,包括所有必须但不存在的目录
    files.transferTo(targetFile);// 写入目标文件
   }
  }
  response.getWriter().print("SUCCESS");
 }

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP