springboot+react实现移动端相册(上传图片到oss/ 批量删除/ 查看图片详情等功能)

news2024/11/27 14:38:50

相册页面及功能展示:
在这里插入图片描述
react前端结构及代码:
在这里插入图片描述
Java后端结构及代码
在这里插入图片描述
数据库结构:
在这里插入图片描述
photo:
在这里插入图片描述
user
在这里插入图片描述
这是首个利用AI+自有知识构建的简易相册系统,项目是react构造前端+spring boot构造后端。

  1. 前端有四个主要页面:LoginPage.js / HomePage.js / PhotoDetailPage.js /
    ProfilePage.js 对应的功能分别为:登录/首页相册/图片详情/个人中心
  2. 后端有两个实体类:User Photo,及其对应的Controller和Repository接口,和一个Web Cors 跨域配置
    分别解决用户登录 、 图片的增加/删除/调用、跨域请求的逻辑
  3. 对应的API为:

http://localhost:8080/api/user/login
http://localhost:8080/api/photo/upload
http://localhost:8080/api/photo/delete

其中还在后端配置了阿里云的OSS,将图片都存储在阿里云中。
在实现的过程中遇到的问题总结(均已解决):

  • java的JDK不匹配(通过设置java编译器的版本解决)
  • java依赖版本冲突
  • OSS路径错误导致的图片上传失败
  • inputStream连着调用两次导致读到分辨率开始报错(inputStream只能用一次)
  • 跨域问题,只能在localhost:3000访问,而换成ip访问却不行(在Cors配置中添加ip的放行)

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

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

相关文章

深入理解Transformer的笔记记录(精简版本)NNLM → Word2Vec

文章的整体介绍顺序为: NNLM → Word2Vec → Seq2Seq → Seq2Seq with Attention → Transformer → Elmo → GPT → BERT 自然语言处理相关任务中要将自然语言交给机器学习中的算法来处理,通常需要将语言数学化,因为计算机机器只认数学符号。向量是人把自然界的东西抽象出…

MySQL创建电子订阅表相关指令(创建,删除,查询,说明,添加)

利用以下代码创建一个名字为one的数据库。 查看数据库是否创建完成 。 创建一个在one数据库中的表格,括号里是字段名和数据类型,用逗号隔开,给id设置主键,确保id的唯一性。 INSERT INTO 为添加数据,one.subscribe中o…

第 1 章 MyBatis快速入门

1.1 ORM简介 ORM(Object Relational Mapping,对象——关系映射)框架的主要功能是根据映射配置文件,完成数据在对象模型与关系模型之间的映射,同时出屏蔽了连接数据库、创建 Statement 对象、执行 SQL、读取 ResultSet…

DSP 如何在调试时便捷查看数组元素

背景描述: 在CCS调试过程中,需要查看一些变量的值,但是数组只能显示第一个元素的值,不能全部展示出来,这样就不便于查看了。 解决方法: 找到变量显示窗口 选中数组右键 设置开始元素和需要展示的个数 这样就可以把数组展开…

Java->Map和Set

目录 一、搜索树 1.概念 2.查找 3.插入 4.删除 二、搜索 1.Map的使用 1.1关于map的说明 1.2map的常用方法 2.Set的使用 2.1关于set的说明 2.2set的常用方法 三、哈希表 1.概念 2. 哈希冲突 3.冲突避免 3.1哈希函数的设计 3.2负载因子调节 4.解决冲突 4.1闭…

3 机器学习之假设空间

归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一般的“泛化”(generalization)过程,即从具体的事实归结出一般性规律;后者则是从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。例如&a…

一款功能强大的颜色选择工具ColorPicker

ColorPicker 是一款轻量级且功能强大的颜色选择工具,专为设计师、开发者以及需要在日常工作中处理颜色的用户设计。该工具允许用户从屏幕上的任意位置快速获取颜色代码,并提供多种格式的颜色值输出,包括RGB、HEX、HSB等。 ColorPicker的界面…

YOLO的相关改进机制

我的面包多平台有多种关于YOLO的改进,大家尽早关注,不迷路

opencv 答题卡检测项目实现

在教育和考试领域,答题卡自动评分系统能够大大提高效率和准确性。本文将介绍如何使用OpenCV库实现一个简单的答题卡检测项目。这个项目包括读取图像、检测答题卡轮廓、透视变换、二值化处理、检测选择题答案,并最终计算得分。 导入库和定义常量 import …

动态规划-路径问题——931.下降路径最小和

1.题目解析 题目来源:931.下降路径最小和——力扣 测试用例 2.算法原理 1.状态表示 我们可以开辟一个dp表,多开辟一行两列用来存储虚拟位置,dp[i][j]表示从第一行到该位置的最小路径和 2.状态转移方程 由于要找到最小路径和,并且由…

中间件镜像升级策略

进入集群 kubectl edit deployments paas-bmm-v1 -n kube-system 修改容器 abcsys.cn:5000/boc3.7/bmm-web-v4:latest-202410091355

【芯片知识】 | 浅谈NRK3502语音芯片IC的工作原理

随着科技的快速发展,语音技术逐渐渗透到我们生活的各个领域,如智能家居、车载导航、手机通讯等。作为语音技术的核心,语音芯片在其中发挥着重要作用。今天,我们将深入探讨NRK3502这款先进的语音芯片IC的工作原理,以及它…

动态规划-路径问题——174.地下城游戏

1.题目解析 题目来源:174.地下城游戏 测试用例 2.算法原理 1.状态表示 通常dp[i,j]可以表示终点也可以表示起点,在本题中如果表示为终点,即勇士到[i,j]位置所需要的最小生命值,但是由于后续位置的未知无法向后继续判断&#xff…

如何判断外包建站公司靠谱与否?2024外包网站设计公司哪家好top3

要知道一家网站建设公司靠不靠谱,看他们合作过哪些公司就能知道个大概。 如果服务对象有各行业的头肩部企业,那这家网站建设公司在专业性上肯定是有保障的。 但是,靠谱并不意味着适合自己。 靠谱的网站建设公司其实在技术上都大差不差&…

我用这四款翻译工具,轻松搞定英文在线翻译

作为一名喜欢搜罗各种办公软件的打工人,今天我要和大家聊聊一个我们工作中不可或缺的技能——英文翻译。首先,我们得承认,翻译工作有时候真的很让人头疼,尤其是当我们面对一堆专业术语和长篇大论时。但自从我发现了这些翻译神器&a…

Linux系统:apt-get update 和apt update区别

apt-get update 和apt update区别 ‌apt-get update和apt update的主要区别在于它们所属的命令集以及在现代Ubuntu系统中的使用推荐。‌ ‌所属命令集‌:apt-get update是apt-get命令的一部分,而apt update是apt命令的一部分。apt是apt-get的替代工具&am…

《Image Processing GNN: Breaking Rigidity in Super-Resolution》CVPR2024

摘要 这篇论文提出了一种名为Image Processing Graph Neural Networks (IPG) 的模型,旨在通过利用图的灵活性来突破超分辨率(Super-Resolution, SR)中的固有刚性问题。在现有的SR模型中,无论是基于卷积神经网络(CNNs&…

新手小白想快速上手Mac的使用必看问题

相信不论是现在还是将来,肯定还是会有Mac小白的存在,对于大多数人来说,从小接触Windows的机会比较多,Windows的使用也是比较多,但是有些朋友在大学的时候想体验一下Mac的感觉,于是果断下单,又或…

[C语言] 函数详解:库函数与自定义函数

文章目录 函数的概念库函数和自定义函数库函数使用库函数示例常用库函数及头文件 自定义函数自定义函数的基本结构示例:实现两个数的求和函数自定义函数的好处 函数的返回值有返回值的函数无返回值的函数 函数的声明与调用声明函数在另一个文件中调用函数示例&#…

51单片机的智能小区安防系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块时钟模块温度传感器烟雾传感器CO传感器红外感应传感器IC卡蓝牙继电器按键、蜂鸣器、LED等模块构成。适用于智能小区安防、智能家居安防等相似项目。 可实现功能: 1、LCD1602实时显示北京时间、温度、烟雾浓度和CO浓…