请求数据之文件上传

本文详细介绍了在Java EE环境中实现文件上传的三个关键点:表单设置、使用POST提交和具体代码实现。强调了POST方法和多部分表单的重要性,并提供了导入依赖、配置解析器及编写上传代码的步骤。同时,提到了参数名称与表单name属性匹配的注意事项,以及如何实现多文件上传的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件上传的三要素

1 表单项type=“file”

2表单的提交方式是post

文件上传的具体代码实现过程:

准备过程:首先我们先创建一个jsp文件:

记住文件上传的重点:方法必须是post,提交的时候必须是多部分表单。

第一步:导入fileupload和io坐标

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

第二步:配置文件上传解析器

    </bean>
<!--    配置文件解析器-->
    <bean id="MultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--        指定文件的编码格式-->
        <property name="defaultEncoding" value="UTF-8"/>
<!--        指定上传文件的总大小-->
        <property name="maxUploadSize" value="500000"/>

    </bean>

第三步:编写文件上传代码

这里有个重点,实现代码的参数名称要与JSP文件的form表单上传文件的name要相同,不然无法传

    @RequestMapping(value = "/quick22")
    @ResponseBody
    public void save22(String username, MultipartFile uploadFile) throws IOException {
        System.out.println(username);
        System.out.println(uploadFile);
        //获得上传文件名称
        String originalFilename = uploadFile.getOriginalFilename();
        uploadFile.transferTo(new File("D:\\B站测试文件\\辅助文件\\upload\\" + originalFilename));

    }

这里有个重点,实现代码的参数名称要与JSP文件的form表单上传文件的name要相同,不然无法传

 

 

效果:

多文件上传:

通过for循环来完成:

    @RequestMapping(value = "/quick23")
    @ResponseBody
    public void save23(String username, MultipartFile[] uploadFile) throws IOException {
        System.out.println(username);
        for (MultipartFile multipartFile : uploadFile) {
            String originalFilenamemu = multipartFile.getOriginalFilename();
            multipartFile.transferTo(new File("D:\\B站测试文件\\辅助文件\\upload\\" + originalFilenamemu));


        }

    }

效果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值