欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot集成七牛云OSS的示例詳解

 更新時(shí)間:2023年11月24日 09:26:14   作者:放風(fēng)講故事  
OSS的英文全稱是Object?Storage?Service,翻譯成中文就是對(duì)象存儲(chǔ)服務(wù),官方一點(diǎn)解釋就是對(duì)象存儲(chǔ)是一種使用HTTP?API存儲(chǔ)和檢索非結(jié)構(gòu)化數(shù)據(jù)和元數(shù)據(jù)對(duì)象的工具,本文給大家詳細(xì)介紹了SpringBoot集成七牛云OSS的示例,需要的朋友可以參考下

一、OSS?

1,什么是OSS?

「OSS」的英文全稱是Object Storage Service,翻譯成中文就是「對(duì)象存儲(chǔ)服務(wù)」,官方一點(diǎn)解釋就是對(duì)象存儲(chǔ)是一種使用HTTP API存儲(chǔ)和檢索非結(jié)構(gòu)化數(shù)據(jù)和元數(shù)據(jù)對(duì)象的工具。

白話文解釋就是將系統(tǒng)所要用的文件上傳到云硬盤上,該云硬盤提供了文件下載、上傳等一列服務(wù),這樣的服務(wù)以及技術(shù)可以統(tǒng)稱為OSS,業(yè)內(nèi)提供OSS服務(wù)的廠商很多,知名常用且成規(guī)模的藍(lán)隊(duì)云等。

2,OSS相關(guān)的術(shù)語(yǔ)

1).存儲(chǔ)空間(Bucket)

存儲(chǔ)空間是您用于存儲(chǔ)對(duì)象(Object)的容器,所有的對(duì)象都必須隸屬于某個(gè)存儲(chǔ)空間。

2).對(duì)象/文件(Object)

對(duì)象是 OSS 存儲(chǔ)數(shù)據(jù)的基本單元,也被稱為OSS的文件。對(duì)象由元信息(Object Meta)、用戶數(shù)據(jù)(Data)和文件名(Key)組成。對(duì)象由存儲(chǔ)空間內(nèi)部唯一的Key來(lái)標(biāo)識(shí)。

3).地域(Region)

地域表示 OSS 的數(shù)據(jù)中心所在物理位置。您可以根據(jù)費(fèi)用、請(qǐng)求來(lái)源等綜合選擇數(shù)據(jù)存儲(chǔ)的地域。詳情請(qǐng)查看OSS已經(jīng)開通的Region。

4).訪問(wèn)域名(Endpoint)

Endpoint 表示OSS對(duì)外服務(wù)的訪問(wèn)域名。OSS以HTTP RESTful API的形式對(duì)外提供服務(wù),當(dāng)訪問(wèn)不同地域的時(shí)候,需要不同的域名。通過(guò)內(nèi)網(wǎng)和外網(wǎng)訪問(wèn)同一個(gè)地域所需要的域名也是不同的。具體的內(nèi)容請(qǐng)參見各個(gè)Region對(duì)應(yīng)的Endpoint。

5).訪問(wèn)密鑰(AccessKey)

AccessKey,簡(jiǎn)稱 AK,指的是訪問(wèn)身份驗(yàn)證中用到的AccessKeyId 和AccessKeySecret。OSS通過(guò)使用AccessKeyId 和AccessKeySecret對(duì)稱加密的方法來(lái)驗(yàn)證某個(gè)請(qǐng)求的發(fā)送者身份。AccessKeyId用于標(biāo)識(shí)用戶,AccessKeySecret是用戶用于加密簽名字符串和OSS用來(lái)驗(yàn)證簽名字符串的密鑰,其中AccessKeySecret 必須保密。

3,為什么需要OSS?

? 因?yàn)槿绻褕D片視頻等文件上傳到自己的應(yīng)用的Web服務(wù)器,在讀取圖片的時(shí)候會(huì)占用比較多的資源。影響應(yīng)用服務(wù)器的性能。

? 所以我們一般使用OSS(Object Storage Service對(duì)象存儲(chǔ)服務(wù))存儲(chǔ)圖片或視頻。

二、注冊(cè)七牛云

七牛云官網(wǎng)

注冊(cè)完可以白嫖

在這里插入圖片描述

三. 七牛云的存儲(chǔ)空間的創(chuàng)建

登錄認(rèn)證點(diǎn)擊新建存儲(chǔ)空間

在這里插入圖片描述

進(jìn)入控制臺(tái),新建存儲(chǔ)空間,自定義存儲(chǔ)空間名稱bucket,填寫完信息點(diǎn)擊確定即可,這里選用華南地區(qū)

在這里插入圖片描述

四、Spring Boot集成七牛云demo

官方sdk地址

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

1,在pom.xml中添加maven依賴

<dependency>
  <groupId>com.qiniu</groupId>
  <artifactId>qiniu-java-sdk</artifactId>
  <version>[7.13.0, 7.13.99]</version>
</dependency>

2, 編寫yml配置文件

  oss: 
    # 配置accessKey
    xxaccessKey: ****
    # 配置secretKey
    xxsecretKey: ****
    # 配置空間名稱
    xxbucket: ****

accessKey和secretKey在密鑰管理中查詢

在這里插入圖片描述

在這里插入圖片描述

3,測(cè)試demo代碼

@Component
@SpringBootTest
/*@ConfigurationProperties(prefix = "oss")//指定讀取application.yml文件的oss屬性的數(shù)據(jù)*/
public class OSSTest {

	//注意要從application.yml讀取屬性數(shù)據(jù),下面的3個(gè)成員變量的名字必須對(duì)應(yīng)application.yml的myoss屬性的三個(gè)子屬性名字
	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;
	}
	@Test
	public void testOss(){
		//構(gòu)造一個(gè)帶指定 Region 對(duì)象的配置類。你的七牛云OSS創(chuàng)建的是哪個(gè)區(qū)域的,那么就調(diào)用Region的什么方法即可
		Configuration cfg = new Configuration(Region.huanan());
		cfg.resumableUploadAPIVersion = Configuration.ResumableUploadAPIVersion.V2;// 指定分片上傳版本
		UploadManager uploadManager = new UploadManager(cfg);
		//文件名,如果寫成null的話,就以文件內(nèi)容的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);
				//解析上傳成功的結(jié)果
				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
		}
	}
}

4,結(jié)果展示

上傳的圖片

在這里插入圖片描述

在oss上顯示

在這里插入圖片描述

以上是springboot使用七牛云OSS的示例,可以根據(jù)自己的實(shí)際需求進(jìn)行調(diào)整。

到此這篇關(guān)于SpringBoot集成七牛云OSS的示例詳解的文章就介紹到這了,更多相關(guān)SpringBoot集成七牛云OSS內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論