OSS中图片的存储
在现代应用中,图片存储和管理是一个常见需求。阿里云对象存储服务(OSS)提供了高效、安全、可靠的图片存储解决方案。本文将详细介绍如何在OSS中存储图片,包括上传、管理和处理图片的步骤。
1. 申请和配置OSS
首先,你需要在阿里云官网申请并配置OSS服务。具体步骤如下:
-
**准备:**阿里云账号,开通OSS服务(购买OSS资源包)
-
创建Bucket:登录阿里云控制台,搜索“对象存储OSS”,创建一个新的Bucket。记录下Bucket名称、Endpoint、AccessKey ID和AccessKey Secret。
点击主页头像 —> AccessKey 管理 —> 开始使用子用户AccessKey —> 创建用户
创建用户后一定要保存AccessKey ID和AccessKey Secret,一旦刷新就没了(注意)
如果忘记保存就点击用户进入,认证管理,创建新AccessKey ID和AccessKey Secret
-
配置权限:根据需求配置Bucket的权限,可以选择公共读、公共读写或私有。
2.引入依赖
首先,在
pom.xml
文件中添加SpirngBoot3+MyBatis-Plus以及阿里云 OSS SDK 的相关依赖:项目结构:
父项目依赖:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.8</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <!-- Mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> <!-- druid数据源 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.20</version> </dependency> <!-- dao层框架 mybatis plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.7</version> </dependency> <!-- json工具包 --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency> </dependencies>
子项目(oss_springboot):
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <!-- 简化bean的开发 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!--因为要提供数据前台页面,所以导入web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--spring boot 测试框架--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- springboot 开发者工具 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!--表示依赖不会传递,即其它项目如引入此项目生成的jar包不会包含spring-boot-devtools--> <optional>true</optional> </dependency> <!-- springboot的配置文件处理器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId>