文件上传

文件上传

文件上传的表单需满足以下三个条件。

  • method属性设置为post。
  • enctype属性设置为"multipart/form-data"
  • 提供 文件上传输入框。

上传步骤

1.导入相关的包

<dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.4</version>
</dependency>
<dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.8.0</version>
</dependency>

2.配置applicationContext.xml

<!--    文件上传配置-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
      <!-- 请求编码格式 -->
        <property name="defaultEncoding" value="utf-8"/>
      <!--上传文件大小上限 ,单位为字节(10485760相当于10Mb)-->
        <property name="maxUploadSize" value="10485760"/>
     </bean>

3.文件上传页面

<form action="${pageContext.request.contextPath}/upload" enctype="multipart/form-data" method="post">
<%--        加上multiple 可以进行多文件上传 --%>
         <input type="file" name="file" id="file" multiple="multiple">
         <input type="submit" value="upload">
</form>

4.Controller层

@RequestMapping("/upload")
public String upLoad(@RequestParam("file") List<MultipartFile> file, HttpServletRequest request) throws IOException {
        //判断文件是否存在
        if (!file.isEmpty() && file.size()>0){
            for (MultipartFile file1 : file) {
                //获取上传文件的原始名字
                String filename = file1.getOriginalFilename();
                //设置上传文件的保存地址目录
                String dirpath = request.getSession().getServletContext().getRealPath("/upload/");
                File filePath = new File(dirpath);
                //如果保存地址的文件不存在,就先创建目录
                if (!filePath.exists()){
                    filePath.mkdirs();
                }
                String name=UUID.randomUUID()+"_"+filename;
                //使用MultpartFile接口的方法完成文件上传到指定位置
                file1.transferTo(new File(dirpath+name));
            }
            return "show";
        }
         else
             return "error";
    }

5.文件上传存储的位置

  • 在文件夹中找到对应的位置即可。

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值