① 小白使用阿里雲的oss實現文件雲存儲
項目需要上傳頭像,不想存在本地,之前用過阿里雲其他產品,這里就使用一下阿里雲的oss了,不得不說阿里雲的產品使用步驟真的很清晰.這里說一下我自己的使用步驟.
選擇對象存儲oss,進行開通
開通不要錢,有一定免費額度
許可權可以設置為公共讀
其實也就是兩步
1.引pom
2.復制黏貼大法
由於阿里雲一些密鑰配置和地域結點,bucket等是常量級的,所以我這里抽取出來放在了application.properties中, 方便管理 ,數據我手動加密了....大家換成自己的即可,
這些配置key=value key都是自己隨便寫的(也不是,起碼可以見名思意),只是為了我們配置的一個配置類可以利用spring的依賴注入填充value而已
說明:
說明:
我們阿里雲oss倉庫的url是一個咱們的倉庫+固定的地域結點值+咱們的文件名字,所以這里為了使上傳的文件名字不重復,使用了一個idworker,不知道的可以看一下 Twitter的 Snowflake(雪花演算法)
大家搭建完了可以用postman測試一下
ps:如果我們想方便管理或者後期擴展,我們這里也可以引入一個工具
我們可以用這個工具的一個方法String dirpath=new DateTime().tostring("yyyy/MM/dd");將當前的時間轉換為yyyy/MM/dd的格式,比如2020/02/03
這樣我們上傳的文件名字時候可以以這個dirpath作為我們的圖片所在的文件夾名稱,以分布式id生成器生成的id為名稱存儲.
下面看一下效果
② 阿里雲oss開放存儲怎麼上傳文件夾,而且數據很龐大
有個「OSS控制台客戶端Windows版」可以上傳文件夾,你可以在「雲市場」的「OSS工具」那找到
③ 阿里雲oss對象存儲 什麼意思
oss 也叫對象存儲,用來存放圖片,css、視頻等靜態文件。可以作為網站、app等web應用的:附件伺服器、頭像伺服器、圖片伺服器、下載伺服器。
每家叫法不一樣,阿里雲叫oss,騰訊雲叫cos,其實都是一個東西。老魏為此寫過雲伺服器oss建站等多篇教程,看完有疑問可以問,在線了就回答。
④ 【ceph】對象存儲的目錄/文件夾概念
對象存儲(OSS)中文件夾的概念僅是一個邏輯概念,在通過API/SDK的方式設置文件夾的時候可以指定object對應的key值包括前面的目錄即可實現該功能。例如,定義object的key為abc/1.jpg就會在該bucket下創建一個abc的文件夾,而在文件夾下即會有一個1.jpg的文件。
對象存儲(OSS)中的文件夾其實是一個大小為0KB的空文件。因此,用戶創建一個key值為1/的object就會定義文件夾1;並且如果用戶創建文件abc/1.jpg,系統是不會創建abc/這個文件的,因此在刪除abc/1.jpg後將不會再存在abc這個文件夾。
由於對象存儲(OSS)採用的是分布式存儲的方式,object並不是根據文件夾進行物理存儲的。也就是說並不是一個文件夾下的所有的文件都會存儲在一起的。在後端存儲的過程中不同的文件夾的文件僅僅是key值的前綴不一樣。因此這種架構下就會導致無法很方便的統計某個文件夾下的匯總信息,如文件夾大小、文件夾PV數等。而想要遍歷某個文件夾下的所有的文件也需要首先通過ListObject介面獲取文件夾下的所有文件的key值(這里需要通過prefix指定文件夾),然後再進行操作。
在邏輯上「中國.mp4」將存放到目錄「videos」中
https://help.aliyun.com/knowledge_detail/39527.html
https://www.jianshu.com/p/4212d37c0e0f