表单多文件上传 以及 表单信息使用注解自动映射到实体类

java代码

   @RequestMapping(value = "/show")
public String show(HttpServletRequest request, @RequestParam(value = "file") MultipartFile[] file, @Valid User user){
    for (MultipartFile multipartFile : file) {
        /**
         * 判断上传文件是否为空
         */
            if (multipartFile.isEmpty()) {
                continue;
            }
            /*
            * 调用上床文件的方法
            * */
        upfile(request,multipartFile);
    }
    /**
     * 对象映射信息
     */
    System.out.println("表单提交映射对象JSON值:"+JSONObject.toJSONString(user));**/*表单提交映射对象JSON值:{"age":20,"name":"tom"}*/**
    return "";
}

/**
 *  上床文件的方法
 * @param request
 * @param multipartFile
 */
private void upfile(HttpServletRequest request,MultipartFile multipartFile){

        /* 上传文件名称*/
        String filename=multipartFile.getOriginalFilename();


        File f= new File(request.getServletPath()+"/"+filename);**/*上传路径:C:\show\10.1.1614.400.manifest*/**
        System.out.println("f:"+f.getAbsolutePath());

        /*使用这个 request.getServletContext() HttpServletRequest  版本在3.1.0 以上*/
        File f2= new File(request.getServletContext()+"/"+filename);/*上传路径:**f2:C:\apache-tomcat-9.0.10\bin\org.apache.catalina.core.ApplicationContextFacade@7bfa9610\10.1.1614.400.manifest*/**
        System.out.println("f2:"+f2.getAbsolutePath());

        /*使用这个 request.getServletContext()  HttpServletRequest  版本在3.1.0 以上*/
        File f3= new File(request.getContextPath()+"/"+filename);**/*上传路径:f3:C:\10.1.1614.400.manifest*/**
        System.out.println("f3:"+f3.getAbsolutePath());
        File f4= new File(request.getSession().getServletContext().getRealPath("/")+filename);**/*上传路径:f4:E:\ideaprojecte\AJXS\target\com.AppManage\compat.xml*/**
        System.out.println("f4:"+f4.getAbsolutePath());

    try {
        /* 上传文件*/
        multipartFile.transferTo(f);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

spring 配置文件

<!-- 多文件 配置-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 编码格式-->
    <property name="defaultEncoding" value="utf-8"></property>
    <property name="maxUploadSize" value="10485760000"></property>
    <property name="maxInMemorySize" value="40960"></property>
</bean>

jsp代码

<form action="/show" method="post" enctype="multipart/form-data">
    <input type="text" name="name"/>
    <input type="text" name="age"/>
    <input type="file" name="file"/><br>
    <input type="file" name="file"/><br>
    <input type="file" name="file"/><br>
    <input type="submit">
</form>

猜你喜欢

转载自blog.csdn.net/weixin_43113795/article/details/82831105