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

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值