SpringBoot实现图片文件上传和回显的两种方式

作者 : admin 本文共909个字,预计阅读时间需要3分钟 发布时间: 2024-06-10 共2人阅读

目录

一 功能需求

二 上传本地

        2.1 实现文件上传的controller层

2.2 图片访问资源映射

二 上传OSS 


一 功能需求

        实现图片的上传和回显功能其实在业务中是非常常见的,比如需要上传头像,或者交易平台需要上传物品的图片等等,都需要上传和回显,所以我接下来给大家介绍两种实现照片上传和回显的方式,一种是上传本地,一种是上传OSS。

二 上传本地

        因为本项目是基于springboot的前后端分离项目,所以相关依赖已经导入,所以这里导入相关依赖的步骤就不再做多介绍了。

        2.1 实现文件上传的controller层

        ① 接收文件的参数 

         MultipartFile file:前端会把图片暂时存储在这个参数里面,而且需要注意,参数名file不能随便写,要和前端的name对应。

        ② 为文件重新生成文件名

因为有可能用户上传的图片名字会重复,这样会覆盖掉原来的图片,所以需要用uuid生成一个唯一名的图片名。

//        获取文件名
        String filename = file.getOriginalFilename();
//        获取文件后缀
        String substring = filename.substring(filename.lastIndexOf("."));
//        uuid重新生成不重复的新的文件名
        filename= UUID.randomUUID()+substring;

③ 设置文件上传的本地路径

这里上传的本地路径是项目的静态资源下的目录。

SpringBoot实现图片文件上传和回显的两种方式插图

ApplicationHome applicationHome = new ApplicationHome(this.getClass());
            String pre = applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath() +
                    "\src\main\resources\static\images\";

③ 上传图片

 String savePath = pre+filename ;
 file.transferTo(new File(savePath));

 这里直接调用transferTo方法即可。

本站无任何商业行为
个人在线分享 » SpringBoot实现图片文件上传和回显的两种方式
E-->