本文主要是介绍关于Spring MVC项目(maven)中通过fileupload上传文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Spring MVC 中通过fileupload上传文件,其中项目使用maven管理。
1.上传文件首先需要的是导入相关支持jar包:commons-fileupload.jar,commons-io.jar
因为我是用的maven管理项目,所以要在pom文件中配置(每个人的jar包位置根据实际情况定)
<!-- 文件上传 start by zhangyd-c --> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version> </dependency> <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version> </dependency> <!-- 文件上传 end -->
2.获取文件信息
/*** 头像 根据Id生成存储目录* @param file* @param userId* @param request* @param response* @throws IOException * @return void* @throws*/@RequestMapping("/updateLogo")public String updateLogo(@RequestParam(value = "upload-file") MultipartFile file,@RequestParam String id, HttpServletRequest request,String base64Char,HttpServletResponse response) throws IOException {response.setContentType("text/html;charset=UTF-8");String fileName = file.getOriginalFilename();String fileFormat = fileName.substring(fileName.lastIndexOf("."));UUID uid = UUID.randomUUID(); String newFileName = uid.toString() + fileFormat;String filePath = null;//base64Char 为剪切后的 base64位的字符串,如果不为空说明图片被剪切了①if(base64Char == null || "".equals(base64Char)){// 根据用户id获取创建上传目录filePath = FileUtils.getFilePath(id);②File descfile = new File(filePath, newFileName);// 文件路径文件名FileUtils.copyInputStreamToFile(file.getInputStream(), descfile);// 开始上传}else{filePath = this.userDetailsService.GenerateImage(base64Char, id,newFileName);③}//此处将图片信息保存到数据库(省略......)return "redirect:/userhome/home";}
3.如果认为只是这样就完了的话, 那就错了 ,你的程序一定跑不起来,MultipartFile这个接口 需要在spring的配置文件中配置,加入
org.springframework.web.multipart.commons.CommonsMultipartResolver
<!-- 配置上传文件的限制信息 by zhangyd-c --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认最大不超过2M --><property name="maxUploadSize" value="2097152" /> </bean>
这样就ok 了,
因为我这个功能上传用户头像,因此就包含剪切后的图像获取,所以中间穿插了一些其他知识点(①②③),具体内容下次整理了发上。。
这篇关于关于Spring MVC项目(maven)中通过fileupload上传文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!