📑前言
本文主要SpringBoot集成七牛云OSS详细介绍的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点
目录
文章目录
- 📑前言
- **目录**
- 1、 为什么要使用OSS
- 2、注册七牛云
- 3. 七牛云的存储空间的创建
- 登录认证点击新建存储空间
- 进入控制台,新建存储空间,**自定义存储空间名称bucket**,填写完信息点击确定即可,这里选用华南地区
- 4、Spring Boot集成七牛云demo
- 一,在pom.xml中添加maven依赖
- 二, 编写yml配置文件
- 三,测试demo代码
- 四,结果展示
- 📑文章末尾
1、 为什么要使用OSS
因为如果把图片视频等文件上传到自己的应用的Web服务器,在读取图片的时候会占用比较多的资源。影响应用服务器的性能。
所以我们一般使用OSS(Object Storage Service对象存储服务)存储图片或视频。
2、注册七牛云
七牛云官网
注册完可以白嫖
3. 七牛云的存储空间的创建
登录认证点击新建存储空间
进入控制台,新建存储空间,自定义存储空间名称bucket,填写完信息点击确定即可,这里选用华南地区
4、Spring Boot集成七牛云demo
官方sdk地址
一,在pom.xml中添加maven依赖
<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.13.0, 7.13.99]</version>
</dependency>
二, 编写yml配置文件
oss: # 配置accessKeyxxaccessKey: ****# 配置secretKeyxxsecretKey: ****# 配置空间名称xxbucket: ****
accessKey和secretKey在密钥管理中查询
三,测试demo代码
@Component
@SpringBootTest
/*@ConfigurationProperties(prefix = "oss")//指定读取application.yml文件的oss属性的数据*/
public class OSSTest {//注意要从application.yml读取属性数据,下面的3个成员变量的名字必须对应application.yml的myoss属性的三个子属性名字private String xxaccessKey;private String xxsecretKey;private String xxbucket;public void setXxaccessKey(String xxaccessKey) {this.xxaccessKey = xxaccessKey;}public void setXxsecretKey(String xxsecretKey) {this.xxsecretKey = xxsecretKey;}public void setXxbucket(String xxbucket) {this.xxbucket = xxbucket;}@Testpublic void testOss(){//构造一个带指定 Region 对象的配置类。你的七牛云OSS创建的是哪个区域的,那么就调用Region的什么方法即可Configuration cfg = new Configuration(Region.huanan());cfg.resumableUploadAPIVersion = Configuration.ResumableUploadAPIVersion.V2;// 指定分片上传版本UploadManager uploadManager = new UploadManager(cfg);//文件名,如果写成null的话,就以文件内容的hash值作为文件名String key = null;try {//byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8");//ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);//上面两行是官方写的(注释掉),下面那几行是我们写的InputStream xxinputStream = new FileInputStream("C:\\Users\\Eliauk\\Downloads\\Desktop\\OIP-C.jpg");Auth auth = Auth.create(xxaccessKey, xxsecretKey);String upToken = auth.uploadToken(xxbucket);try {Response response = uploadManager.put(xxinputStream,key,upToken,null, null);//解析上传成功的结果DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println("上传成功! 生成的key是: "+putRet.key);System.out.println("上传成功! 生成的hash是: "+putRet.hash);} catch (QiniuException ex) {Response r = ex.response;System.err.println(r.toString());try {System.err.println(r.bodyString());} catch (QiniuException ex2) {//ignore}}}catch (Exception e) {//ignore}}
}
四,结果展示
上传的图片
在oss上显示
以上是springboot使用七牛云OSS的示例,可以根据自己的实际需求进行调整。