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

news2024/12/26 9:26:49

目录

一 功能需求

二 上传本地

        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;

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

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

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方法即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VsCode中C文件调用其他C文件函数失败

之前一直使用CodeBlocks,最近使用vscode多,感觉它比较方便,但在调用其他C文件的时候发现报错以下内容基于单C文件运行成功,否则请移步 博文:VSCode上搭建C/C开发环境 报错信息 没有使用CodeRunner插件,弹…

ubuntu第三方库离线安装包(.deb离线安装方法;apt离线安装;离线安装deb)(docker离线安装、安装docker安装)

文章目录 方法1:Ubuntu Packages 网站下载离线包(失败了,找不到包的可下载源,有的包有,有的包没有,不知道怎么回事)操作步骤1. 在有网络的环境中,打开浏览器并访问 Ubuntu Packages …

读取CSV文件生成RDD去掉标题行

文章目录 1. 创建CSV文件2. 上传CSV文件3. 读取CSV文件生成RDD4. 去掉标题行生成新RDD5. 查看新生成的RDD 1. 创建CSV文件 执行命令:vim scores.csv 在WPS里查看CSV文件 2. 上传CSV文件 执行命令:hdfs dfs -put scores.csv /park 3. 读取CSV文件生…

Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

Content type application/x-www-form-urlencoded;charsetUTF-8 not supported 问题背景新增页面代码改造 问题背景 这里有一个需求,前端页面需要往后端传参,参数包括主表数据字段以及子表数据字段,由于主表与子表为一对多关系,在…

计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive

课题研究的意义,国内外研究现状、水平和发展趋势 研究意义21世纪是一个信息爆炸的时代,人们在日常生活中可接触到的信息量非常之巨大。推荐系统逐步发展,其中又以个性化推荐系统最为瞩目。个性化推荐系统的核心在于个性化推荐算法&#xff0c…

【python】 pandas.DataFrame.to_json 函数

【python】 pandas.DataFrame.to_json 函数 写在最前面一、什么是 JSON?【性能对比】python读取json和直接从orcle数据库读,哪个更快?性能对比适用场景综合考虑 二、to_json 函数概述参数详解1. path_or_buf2. orient4. double_precision5. f…

SaaS产品运营 | 千万不能踏入的PLG模式的六大误区

随着科技的迅速发展和市场竞争的日益激烈,越来越多的公司开始尝试采用PLG(Product Led Growth,即产品驱动增长)模式来推动其业务的发展。然而,尽管PLG模式在促进增长方面具有显著优势,但在实践中也容易出现…

python学习 -You-Get视频下载使用案例

You-Get 是一个命令行程序,提供便利的方式来下载网络上的媒体信息。 You-Get 是一个用于从网页下载媒体内容(如视频、音频、图片)的Python库。它支持多种网站,能够捕获并下载这些网站中直接或间接提供的媒体资源。You-Get 的设计…

BarTender软件下载附加详细安装教程

BarTender是美国海鸥科技推出的一款优秀的条码打印软件,应用于 WINDOWS95 、 98 、 NT 、 XP 、 2000 、 2003 和 3.1 版本, 产品支持广泛的条形码码制和条形码打印机, 不但支持条形码打印机而且支持激光打印机,还为世界知名品牌条…

比特币对接文档

比特币对接 地址分类 p2sk()p2skh(主网地址是以"1"开头,例如:16dN3XhaTejyZFy4hWompK2x8de2T46wA8; 测试网是以"m"或"n"开头, 例如:mvZjn2485hwxjVPJoLAZVyJKUDn8aGpBy5)p2sh (主网地址是以"3"开头,例如:33ZzFZZJcvtnLBWRdne6F9SpD9…

数据结构笔记1-19(补充之前没有提及的细节)

目录 算法的五大特征 时间复杂度 next数组 nextval数组 树结点的计算 满二叉树和完全二叉树 线索二叉树 树的存储结构 森林、树之间的转换 哈夫曼树的构造 这几个红框,因为之前在别的视频有学过了,故不再看了。如果到时候还有什么需要查缺补…

[项目推荐]EmoLLM-心理健康大模型

EmoLLM 是一系列能够支持理解用户-支持用户-帮助用户心理健康辅导链路的开源心理健康大模型,由LLM指令微调而来。它旨在全面理解和促进个体、群体乃至整个社会的心理健康状态。 项目介绍 GitHub:https://github.com/SmartFlowAI/EmoLLM 【EmoLLM项目提供…

如何基于Excel文件图形化从零建表并导入数据(以MySQL和SQLynx为例)

目录 1. 准备Excel数据 2. 导入Excel数据 a. 登录SQLynx b. 导入Excel文件 3. 验证数据 4. 使用和管理表 5. 总结 在实际的业务过程中,我们经常会有很多数据存储在Excel中,但在Excel中的数据分析不如使用SQL和数据库方便,数据量大些的…

VS修改项目名称

本文以Visual Studio2015为例 1.VS体系是由一个个单独项目组成一个解决方案,如果要修改解决方案名称直接右击——重命名。 修改解决方案下的项目名称:选中项目名称——右击——重命名 同时修改项目所在路径下的同名文件夹名称和里面的项目名称.vcxproj、…

【仿真建模-anylogic】EventRate原理解析

Author:赵志乾 Date:2024-06-13 Declaration:All Right Reserved!!! 1. 类图 2. 原理解析 EventOriginator是Anylogic中各类事件的父类,对外暴露的接口主要有: 函数功能boolean isActive()判定…

人类如何挣脱被人工智能替代的命运?

人工智能技术的迭代升级,使得“换脸”“拟声”成为可能,我如何证明不是“我”?面对人工智能超高的生产效率,我如何与人工智能“抢工作”?在人工智能时代,如何回应这类疑问?挣脱被替代的命运&…

Windows 11 24H2版首发体验!附详细更新升级安装教程

Windows 11 24H2 版首发体验!这是微软2024年的大版本更新,新增超多新功能,以下会给你细细道来。这个版本目前小编亲测,使用非常流畅,没有什么明显问题。系统是已经集成了VB6/VC2005/VC2008/VC2010/VC2012/VC2013/VC201…

618哪些数码产品比较好?2024超高人气产品推荐!

随着6.18大促的脚步渐近,你是否已经按捺不住内心的激动,想要在网络购物的海洋中畅游,尽情享受购物的狂欢?然而,面对繁多的商品和各式各样的优惠活动,你是否感到了一丝迷茫?作为一位经验丰富的网…

补偿 EMI 滤波器 X 电容对有源 PFC 功率因数的影响

现代开关模式电源使用 X 电容器和 Y 电容器与电感器的组合来过滤共模和差模 EMI。滤波器元件位于任何有源(或无源)功率因数校正 (PFC) 电路的前面(图 1),因此 EMI 滤波器的电抗对功率因数 (PF) 造成的任何失真都会改变…

2024/6/11 英语每日一段

They found that, regardless of culture, greater mental well-being is linked with feeling emotions that we believe are appropriate to our situation, rather than just having positive emotions regardless of context--“feeling right” as opposed to “feeling g…