创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
站在用户的角度思考问题,与客户深入沟通,找到铁山网站设计与铁山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、空间域名、雅安服务器托管、企业邮箱。业务覆盖铁山地区。这篇文章主要介绍如何实现Java后端SSM框架图片上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、技术概述
(1)这个技术是做什么
这个技术是上传图片到服务器上,并且把地址存在数据库中。前端调用的时候之间通过地址即可调用。
(2)学习该技术的原因
由于用户在写日记的时候也可以进行图片的上传,同时还有用户头像的上传。
二、技术详述
以上传用户的头像为例
(1)接口代码
@RequestMapping(value = "user/profilePhoto", produces = "application/json; charset=utf-8") @ResponseBody public boolean imageUphold(@RequestParam("photo") MultipartFile file, Long phone) throws IOException { String filePath = ducumentBase;// 保存图片的路径 // String filePath = "/image";//保存图片的路径 // 获取原始图片的拓展名 String originalFilename = file.getOriginalFilename(); System.out.println("originalFilename: " + originalFilename); // 新的文件名字 String newFileName = UUID.randomUUID() + originalFilename; // 封装上传文件位置的全路径 filePath += "/" + phone; System.out.println("filePath: " + filePath); File targetFile = new File(filePath, newFileName); if (!targetFile.exists()) { targetFile.mkdirs(); } // 把本地文件上传到封装上传文件位置的全路径 System.out.println("newFileName: " + newFileName); System.out.println("targetFile: " + targetFile.getName()); System.out.println("phone: " + phone); //System.out.println("afterPhone"); try { file.transferTo(targetFile); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String allPath=mappingPath + "/" + phone+ "/" + newFileName; System.out.println("存储路径为"+allPath); boolean result=onedayServiceImpl.updProfilePhoto(allPath, phone);//存在数据库中,其中allPath的数据库类型为varchar(1000) return result; }