1.先在springmvc配置文件里面配置文件上传解析器
1 <!--文件上传解析器--> 2 <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"> 3 <property name="maxUploadSize" value="100000000"/> 4 </bean>
//id:必写,内部自动解析调用
2.然后创建一个表单的时候方式写成 post方式 更加安全一些 例子如下
<form action="/user/upload" method="post" enctype="multipart/form-data"> 名称:<input type="text" name="name"><br/> 资料:<input type="file" name="file"><br/> <input type="submit" value="提交"> </form>
记住。enctype="multipart/form-data" 必写。
3.创建mvc控制语句
    @RequestMapping("upload")
    public  String upload(String name, MultipartFile file) throws IOException {
        System.out.println(name);
        String filename = file.getOriginalFilename();
        file.transferTo(new File("F:\\picture\\"+filename));
        return "success";
    }
这里面name 是负责打印出来。new的是一个文件夹 把图片放里面 MultipartFile file 是多个部分的文件
然后运行在页面打开jsp 找到图片就完成图片上传的功能
中途出现乱码的情况:解决问题如下
在web.xml配置文件中配置一个字符乱码过滤器
<!--post乱码解决-->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
这样post乱码情况就解决了!!!
原文:https://www.cnblogs.com/ych961107/p/11871691.html