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

1.springmvc.xml中上传配置:

复制代码
1
2
3
4
5
6
<!-- 多部分文件上传 --> <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)中接收请求的代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/** * @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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部