我是靠谱客的博主 难过摩托,最近开发中收集的这篇文章主要介绍使用SpringMvc的CommonsMultipartResolver上传文件(效率很高),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.springmvc.xml中上传配置:

    <!-- 多部分文件上传 -->
    <bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="104857600" />
        <property name="defaultEncoding" value="UTF-8"></property>
    </bean>

2.控制器(Controller)中接收请求的代码

    /**
     * @Description 上传图片
     * @Author 刘俊重
     * @Date 2017/6/12
     */
    @IgnoreAuth
    @PostMapping("uploadImage")
    @ResponseBody
    public Out uploadImage( HttpServletRequest request) throws IOException{
        // 将当前上下文初始化给 CommonsMutipartResolver (多部分解析器)
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
        multipartResolver.setDefaultEncoding("utf-8");  //设置编码
        String res = null;
        // 检查form中是否有enctype="multipart/form-data"
        if(multipartResolver.isMultipart(request)) {
            // 将request变成多部分request
            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
            // 获取multiRequest中的所有文件名
            Iterator<String> iter = multiRequest.getFileNames();
            while(iter.hasNext()) {// 一次性遍历所有文件
                MultipartFile file = multiRequest.getFile(iter.next());
                if(file != null) {
                    String name = FileUtil.getOSSFile(file);
                    InputStream input = file.getInputStream();
                    OSSClient client = ossFactory.getClient();
                    OSSUtil.putObject(input,file.getSize(), client, SystemVar.OSS_BUCKET, name);
                    res =  SystemVar.OSS_URL+name;
                }
            }
        }
        return Out.ok().put("path",res);
    }

这里上传使用的是阿里OSS,上传过程不再写,上传成功之后返回uri,拼接域名生成url返回给前端即可。当然需要注意的是,前端的请求”Content-Type”: “multipart/form-data”。

最后

以上就是难过摩托为你收集整理的使用SpringMvc的CommonsMultipartResolver上传文件(效率很高)的全部内容,希望文章能够帮你解决使用SpringMvc的CommonsMultipartResolver上传文件(效率很高)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部