实现JavaWeb文件上传 - 极悦
首页 课程 师资 教程 报名

实现JavaWeb文件上传

  • 2021-12-07 10:01:49
  • 816次 极悦

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

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交