欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring MVC 文件上传

程序员文章站 2022-07-15 13:24:11
...

Spring MVC 实现文件上传通过MultipartResolver(接口)实现,Spirng用Jakarta Commons FileUpload技术实现了该接口,具体实现类为CommonsMultipartResovler
这个类名透露了这个类必须依赖CommonsFileupload 这个jar包,所以我们需要添加这个jar包。
Spring MVC上下文中默认没有装配MultipartResovler,所以需要在上下文中进行配置。配置文件如下:

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"></property>
        <property name="maxUploadSize" value="10240000"/>
    </bean>

这里值限定了部分属性,还可以对上传要求进行更严格的限定。

写好配置文件之后,我们在页面上可以简单的写一个文件上传的表单:

<FORM action="testFileupload" method="post" enctype="multipart/form-data">
    File: <input type="file" name="file"/>
    Desc:<input type="text" name="desc"/>
    <input type="submit" name="提交">
</FORM>

然后就只需要在一个Controller中添加一个处理方法,方法中包括一个用@RequestParam修饰的MultipartFile参数就可以了。

    @ResponseBody
    @RequestMapping("/testFileupload")
    public String testFileupload(@RequestParam("desc") String desc, @RequestParam("file")MultipartFile file) throws IOException {

        System.out.println(desc);
        System.out.println(new String(file.getBytes()));
        return "success";
    }

这样就可以实现文件的上传了。