zoukankan      html  css  js  c++  java
  • javaweb简单的实现文件上传

     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

  • 相关阅读:
    实验十二:面向对象基础 5、构造方法、重载
    实验十一:面向对象基础 3、类、对象、方法实训
    实验十:程序结构与数组 8、数组实训
    实验九:程序结构与数组 6、方法实训
    课后作业:情境三:程序结构与数组 5、方法
    Java获取随机数
    实验八:程序结构与数组 4、循环实训
    情境三:程序结构与数组 4、循环实训
    ES查询优化
    ES配置搜索规则
  • 原文地址:https://www.cnblogs.com/zhouheblog/p/9627387.html
Copyright © 2011-2022 走看看