专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 实现JavaWeb文件上传

实现JavaWeb文件上传

更新时间:2021-12-07 10:01:49 来源:动力节点 浏览670次

java代码:

//  @RequestMapping(value = "/upload.do", method = RequestMethod.POST)
   @RequestMapping(value = "savefile", method = RequestMethod.POST)
   // 这里的MultipartFile对象变量名跟表单中的file类型的input标签的name相同,所以框架会自动用MultipartFile对象来接收上传过来的文件,当然也可以使用@RequestParam("img")指定其对应的参数名称
   public String upload(MultipartFile upfile, HttpSession session, HttpServletRequest request)
         throws Exception {
      // 如果没有文件上传,MultipartFile也不会为null,可以通过调用getSize()方法获取文件的大小来判断是否有上传文件
      if (upfile.getSize() > 0) {
         // 得到项目在服务器的真实根路径,如:/home/tomcat/webapp/项目名/images
//       String path = session.getServletContext().getRealPath("/");
         String path=request.getRealPath("/");
         // 得到文件的原始名称,如:美女.png
         String fileName = upfile.getOriginalFilename();
         // 通过文件的原始名称,可以对上传文件类型做限制,如:只能上传jpg和png的图片文件
         if (fileName.endsWith("jpg") || fileName.endsWith("png") || fileName.endsWith("txt")) {
            File file = new File(path, fileName);
            upfile.transferTo(file);
            return "/success.jsp";
         }
      }
      return "/error.jsp";
   }

注意事项:

1.文件上传表单要用post方式提交,并且要加上 enctype="multipart/form-data" ;

2.后台要用文件类型接收文件,不能用字符串接收,负责会报错;

3.后台可用 String path=request.getRealPath("/"); 方法获取项目的路径,把文件放到相应的路径中。

4.springmvc中有对上传文件的大小做限制 -->

5.多文件上传

- 要使用multiple属性

- 后台接受是一个数组

数组接收的时候要注意使用 @RequestParam false

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>