springMVC写文件上传时出现的“坑”好吧——multipartResolver

首先,页面代码,这里是upload.jsp:

<form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data">
    姓名:<input type="text" name="name">
    文件:<input type="file" name="multipartFile">
    提交: <input type="submit" value="提交">
</form>

然后,我们在pom文件中添加文件上传用到的依赖文件:

<!--文件上传依赖-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.3</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>

接着我们在spring-mvc.xml文件中配置文件上传解析器:

<bean id="commonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!--上传文件总大小-->
    <property name="maxUploadSize" value="54280"/>
    <!--编码方式-->
    <property name="defaultEncoding" value="UTF-8"/>
    <!--单个上传的文件大小-->
    <property name="maxUploadSizePerFile" value="54280"/>
</bean>

之后编写了文件上传代码:

 @RequestMapping("/upload")
    @ResponseBody
    public void upload(String name, MultipartFile multipartFile) throws IOException {
        System.out.println(name);
        String filename = multipartFile.getOriginalFilename();
        multipartFile.transferTo(new File("F:\\"+filename));
    }

这个时候你以为万事大吉,可以成功运行的时候,惊喜出现了,页面给你来一个500…
在这里插入图片描述idea控制台给你来个null
在这里插入图片描述我把代码从头顺了一遍始终没找到我的错,于是乎,有技术朋友是真好!!!原来在文件解析器那里ID必须要配置为

multipartResolver

*哈哈,加粗是为了醒目~~~~*

   <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--上传文件总大小-->
        <property name="maxUploadSize" value="54280"/>
        <!--编码方式-->
        <property name="defaultEncoding" value="UTF-8"/>
        <!--单个上传的文件大小-->
        <property name="maxUploadSizePerFile" value="54280"/>
    </bean>

大家千万记得这个

。加油,冲鸭。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章