📑前言
本文主要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的示例,可以根據自己的實際需求進行調整。