springmvc文件的上传

**springmvc文件的上传**
最近自学了下SpringMVC中文件的上传与下载,这里先分享上传的一些过程与体验。
1.首先需要找到文件上传与下载的两个jar包
![jar包](https://img-blog.csdn.net/20180422102719850?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2t6dzEx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
其余的spring,与springMVCjar包是还是不可少的
2.接下来前端页面写好要上传的基本信息
<form action="${pageContext.request.contextPath }/fileupload" method="post" enctype="multipart/form-data" onsubmit="return check()">
        上传人:<input id="name" type="text" name="name"><br/>
        请选择文件:<input id="file" type="file" name="uploadfile"><br/>
        <input type="submit" value="上传">
</form>
//也对表单做一个简单的校验
<script>
        function check(){
            var name = $("#name").val();
            var file = $("#file").val();
            alert("name="+name+";"+file);
            if(name==""){
                alert("请填写上传人");
                return false;
            }       
            if(file.length==0||file==""){
                alert("请选择上传文件!");
                return false;
            }   
            return true;
        }

    </script>

3.springMVC中的配置

<!-- 定义组件扫描器,指定需要扫描的包 -->
    <context:component-scan base-package="com.springmvc.controller" />
    <!--配置注解驱动  -->
    <mvc:annotation-driven />
    <!-- 定义视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <!-- 设置前缀 -->
         <property name="prefix" value="/WEB-INF/jsp/"/>
         <!-- 设置后缀 -->
         <property name="suffix" value=".jsp"/>
    </bean>
    **<!-- 配置文件上传解析器 MultipartResolver -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
          <!-- 设置请求编码格式-->
          <property name="defaultEncoding" value="UTF-8" />**
    </bean>

4.控制器 fileUpload.java

@Controller
public class fileUpload {

    @RequestMapping("/fileupload")
    public String handleFormUpload(@RequestParam("name")String name,@RequestParam("uploadfile")List<MultipartFile> uploadfile,HttpServletRequest request){

        //判断上传文件是否存在
        if(uploadfile.size()>0 && !uploadfile.isEmpty()){
            //循环输出上传的文件
            for(MultipartFile file:uploadfile){
                //获取原始文件名
                String originalFilename = file.getOriginalFilename();                                                                             
                //设置上传文件的保存地址目录
                String dirpath = request.getServletContext().getRealPath("/upload/");
                System.out.println(dirpath);
                File filepath = new File(dirpath);
                //如果文件的地址不存在,就先创建目录
                if(!filepath.exists()){
                    filepath.mkdirs();
                }
                String newFilename = name+"_"+originalFilename;
                try {
                    //使用MultipartFile接口的的方法完成文件上传到指定位置
                    file.transferTo(new File(dirpath+newFilename));
                } catch (IOException e) {
                    e.printStackTrace();
                    return "error";
                }
            }
            return "success";
        }else{
            return "error";
        }


    }

}

效果图
这里写图片描述

点击以后就是显示上传成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬瓜螺旋雪碧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值