亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、OSS?

1,什么是OSS?

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

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

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

1).存儲空間(Bucket)

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

2).對象/文件(Object)

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

3).地域(Region)

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

4).訪問域名(Endpoint)

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

5).訪問密鑰(AccessKey)

AccessKey,簡稱 AK,指的是訪問身份驗證中用到的AccessKeyId 和AccessKeySecret。OSS通過使用AccessKeyId 和AccessKeySecret對稱加密的方法來驗證某個請求的發(fā)送者身份。AccessKeyId用于標識用戶,AccessKeySecret是用戶用于加密簽名字符串和OSS用來驗證簽名字符串的密鑰,其中AccessKeySecret 必須保密。

3,為什么需要OSS?

? 因為如果把圖片視頻等文件上傳到自己的應用的Web服務器,在讀取圖片的時候會占用比較多的資源。影響應用服務器的性能。

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

二、注冊七牛云

七牛云官網(wǎng)

注冊完可以白嫖

在這里插入圖片描述

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

登錄認證點擊新建存儲空間

在這里插入圖片描述

進入控制臺,新建存儲空間,自定義存儲空間名稱bucket,填寫完信息點擊確定即可,這里選用華南地區(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,測試demo代碼

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

	//注意要從application.yml讀取屬性數(shù)據(jù),下面的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;
	}
	@Test
	public void testOss(){
		//構(gòu)造一個帶指定 Region 對象的配置類。你的七牛云OSS創(chuàng)建的是哪個區(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ù)自己的實際需求進行調(diào)整。

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

相關(guān)文章

  • 怎么把本地jar包放入本地maven倉庫和遠程私服倉庫

    怎么把本地jar包放入本地maven倉庫和遠程私服倉庫

    這篇文章主要介紹了怎么把本地jar包放入本地maven倉庫和遠程私服倉庫的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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如何正確解析日期格式,文中給出了兩種解決方案,通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • mybatis plus自動生成代碼tinyint(1)自動轉(zhuǎn)換為Boolean的問題及解決

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

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

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

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

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

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

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

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

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

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

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

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

    mybatis中mapper.xml文件的常用屬性及標簽講解

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

最新評論