1.首先图片上传,需要在数据库定义一个varchar类型的img字段图片字段 2.需要在pom文件加图片上传的配置文件 commons-io commons
commons-io commons-io 2.4
#配置Mysql的连接spring: #图片上传 servlet: multipart: enabled: true max-file-size: 50MB max-request-size: 50MB
httpservletRequest request){ //1、上传路径:项目发布Tomcat服务器//D:\workUtilsInstall\apache-tomcat-8.0.0\WEBapps\week_employee_hzy\\uploadString path = request.getServletContext().getRealPath("/")+"/upload";File file = new File(path);if(!file.exists()){//不存在file.mkdirs();}//生成新的文件名称,原因:防止文件名称一样后者上传的文件会覆盖前者上传的文件(前提是文件名称必须一样并且在用一个目录下)//生成新的文件名称,保证文件名称唯一有两种方法:// 1.通过UUID实现文件名称唯一 (UUID会生成32位字母+数字唯一的一个字符串)// 2.通过时间戳现文件名称唯一 (时间戳是毫秒级时间 时间会一直往上加,生成13位数字)注意只有java生成13位 其他则是10位比如oracle、mysql、PHP// 获取时间戳//long currentTimeMillis = System.currentTimeMillis();//System.out.println(currentTimeMillis);String uuid = UUID.randomUUID().toString();String oldName = imgfile.getOriginalFilename();//1.jpgString suffix = oldName.substring(oldName.lastIndexOf("."));String newFile = uuid+suffix;File file2 = new File(path+"\\"+newFile);try {imgfile.transferTo(file2);} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return "upload/"+newFile;}} 6.Controller层调用图片上传方法
@RequestMapping("uploadImg") public String uploadImg(MultipartFile imgfile, HttpServletRequest request){ String filePath = FileUtil.uploadFile(imgfile, request); System.out.println("{\"path\":\"" + filePath + "\"}"); return "{\"path\":\"" + filePath + "\"}";//可以 }
访问这个路径http://localhost:8080/upload/b54e356b-6dba-48ae-8ea1-27b4dad158b5.png
访问成功图片上传就完成了
来源地址:https://blog.csdn.net/weixin_62883794/article/details/130746018
--结束END--
本文标题: Springboot怎么实现图片上传
本文链接: https://www.lsjlt.com/news/432184.html(转载时请注明来源链接)
有问题或投稿请发送至:
邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-26
2024-04-26
2024-04-26
2024-04-26
2024-04-26
2024-04-26
2024-04-24
2024-04-24
2024-04-24
2024-04-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0