美文网首页Java 杂谈
ssm上传多个图片(带参数 from提交)

ssm上传多个图片(带参数 from提交)

作者: 山顶冻人0 | 来源:发表于2017-12-08 18:32 被阅读0次

    首先在maven中导入commons-io commons-fileupload依赖

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.3</version>
            </dependency>
    
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.2</version>
            </dependency>
    

    1.前台<form action="/file" method="post" enctype="multipart/form-data">
    action method="post" enctype="multipart/form-data" 必须这样写,在页面中input标签的属性一定要与SpringMvc接口方法的参数name保持一致,否则为null,在接收多个文件时 要加@RequestParam("name名") 区别接收,例如

    <input type="file" name="file"/>
    <input type="file" name="file2"/>
    

    后台代码:

    public void file(@RequestParam("file") MultipartFile file,@RequestParam("file1") MultipartFile file1){}
    

    要是接收数组的话,前台页面input file的name要保持一致

    <input type="file" name="file"/>
    <input type="file" name="file"/>
    

    后台代码:

    public void file(@RequestParam("file") MultipartFile files){}
    

    前台提交使用 <input type="submit" value="上传">
    或给<form id="fo"> 指定一个id 在js 方法里调用 $("#id").sumbit();

    2.在springMvc的配置文件里加上

      <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="defaultEncoding" value="utf-8"/> //防止乱码
            <property name="maxUploadSize" value="1073741824"/>//限制上传文件的总大小
        </bean>
    

    3.后台实现上传

    public class FileController {  
          
          
        @RequestMapping("/test.do")  
        @ResponseBody  
        public String test(MultipartFile file,HttpServletRequest request) throws IOException{  
            System.out.println("comming!");  
            String path = request.getSession().getServletContext().getRealPath("/images");  
            System.out.println("path>>"+path);  
      
            String fileName = file.getOriginalFilename();  
            System.out.println("fileName>>"+fileName);  
              
            File dir = new File(path, fileName);  
            System.out.println("dir.exists()>>"+dir.exists());  
            if(!dir.exists()){  
                dir.mkdirs();  
            }  
            System.out.println("dir.exists()>>"+dir.exists());  
    //      MultipartFile自带的解析方法  
            file.transferTo(dir);  
              
            return "ok";  
        }  
    }  
    

    相关文章

      网友评论

        本文标题:ssm上传多个图片(带参数 from提交)

        本文链接:https://www.haomeiwen.com/subject/cpqyixtx.html