欧美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ù)語

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來標(biāo)識(shí)。

3).地域(Region)

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

4).訪問域名(Endpoint)

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

5).訪問密鑰(AccessKey)

AccessKey,簡稱 AK,指的是訪問身份驗(yàn)證中用到的AccessKeyId 和AccessKeySecret。OSS通過使用AccessKeyId 和AccessKeySecret對(duì)稱加密的方法來驗(yàn)證某個(gè)請(qǐng)求的發(fā)送者身份。AccessKeyId用于標(biāo)識(shí)用戶,AccessKeySecret是用戶用于加密簽名字符串和OSS用來驗(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)文章

  • 怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫

    怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫

    這篇文章主要介紹了怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 關(guān)于Synchronized和ReentranLock的區(qū)別及說明

    關(guān)于Synchronized和ReentranLock的區(qū)別及說明

    文章介紹了Java中的`synchronized`關(guān)鍵字和`ReentrantLock`類,兩者都可以用于解決多線程同步問題,但`ReentrantLock`提供了更多的功能和靈活性
    2024-12-12
  • 詳解SpringBoot如何正確解析日期格式

    詳解SpringBoot如何正確解析日期格式

    這篇文章主要介紹了SpringBoot如何正確解析日期格式,文中給出了兩種解決方案,通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • mybatis plus自動(dòng)生成代碼tinyint(1)自動(dòng)轉(zhuǎn)換為Boolean的問題及解決

    mybatis plus自動(dòng)生成代碼tinyint(1)自動(dòng)轉(zhuǎn)換為Boolean的問題及解決

    這篇文章主要介紹了mybatis plus自動(dòng)生成代碼tinyint(1)自動(dòng)轉(zhuǎn)換為Boolean的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程

    IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程

    這篇文章主要介紹了IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    Mybatis中也是支持引用其他Mapper文件中的SQL片段的,本文就來介紹一下如何使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式

    JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式

    這篇文章主要介紹了JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • mybatis-plus?如何使用雪花算法ID生成策略

    mybatis-plus?如何使用雪花算法ID生成策略

    這篇文章主要介紹了mybatis-plus如何使用雪花算法ID生成策略,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringMVC實(shí)現(xiàn)文件上傳下載的全過程

    SpringMVC實(shí)現(xiàn)文件上傳下載的全過程

    對(duì)于上傳功能,我們?cè)陧?xiàng)目中是經(jīng)常會(huì)用到的,比如用戶注冊(cè)的時(shí)候,上傳用戶頭像,這個(gè)時(shí)候就會(huì)使用到上傳的功能,而對(duì)于下載使用場(chǎng)景也很常見,下面這篇文章主要給大家介紹了關(guān)于SpringMVC實(shí)現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • mybatis中mapper.xml文件的常用屬性及標(biāo)簽講解

    mybatis中mapper.xml文件的常用屬性及標(biāo)簽講解

    這篇文章主要介紹了mybatis中mapper.xml文件的常用屬性及標(biāo)簽講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論