我是靠谱客的博主 忧心纸飞机,最近开发中收集的这篇文章主要介绍使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

springMVC提供的前端控制器,可以拦截所有请求,指挥调度所有后台逻辑资源。
使用传统方式进行文件上传,需要我们手动解析request对象,获取文件上传项,再进行文件的上传。
springMVC框架可以帮助我们完成对象解析的工作,这大大简化了开发人员文件上传逻辑的编写。

首先,我们需要在springmvc.xml配置文件中配置文件解析器

        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="10485760"></property>
        </bean>

接着,编写前端代码
enctype="multipart/form-data"不能省略,并且input标签的name属性也是必要的。

<form action="file/doSpringMvcFileUpload" method="post" enctype="multipart/form-data">
    选择文件:<input type="file" name="fileUpload"/>
    <br/>
    <input type="submit" value="上传"/>
</form>

最后,编写控制器逻辑

    @RequestMapping("/doSpringMvcFileUpload")
    public  String doSpringMvcFileUpload(HttpServletRequest request,MultipartFile fileUpload) throws Exception {
        //文件上传路径
        String path = request.getSession().getServletContext().getRealPath("/uploads");
        File file = new File(path);
        if(!file.exists()){
            file.mkdirs();
        }
        String fileName = fileUpload.getOriginalFilename();
        String uuid  = UUID.randomUUID().toString();
        fileName = uuid + "-" + fileName;
        fileUpload.transferTo(new File(path,fileName));
        return "uploadSuccess";
    }

整个代码会比使用commons-fileupload实现更简单,文件解析器配置时,还可以指定文件上传的默认地址。值得注意的是,再控制器方法中的MultipartFile fileUpload参数的参数名,必须与前端页面的name值一致,否则,会导致执行错误,文件上传失败。

最后

以上就是忧心纸飞机为你收集整理的使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传的全部内容,希望文章能够帮你解决使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部