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

Java獲取七牛云存儲空間中圖片外鏈

 更新時間:2023年10月31日 15:11:36   作者:I'm Jie  
本文主要介紹了Java獲取七牛云存儲空間中圖片外鏈,需要獲取在七牛云中存儲的所有圖片,并返回外鏈地址,具有一定的參考價值,感興趣的可以了解一下

七牛云官方文檔:https://developer.qiniu.com/kodo/sdk/java

如果有還不會使用SpringBoot整合七牛云存儲的小伙伴們,可以跳轉(zhuǎn)查看這篇文章:SpringBoot 整合七牛云上傳圖片

在最近的一個項目中,需要獲取在七牛云中存儲的所有圖片,并返回外鏈地址,具體代碼實現(xiàn)如下。

獲取七牛云密鑰

  • 進入七牛云控制臺

    image-20220131212145277

  • 點擊【頭像】→【密鑰管理】

    image-20220131212100619

  • 創(chuàng)建密鑰,復制保存,下面要用

    image-20220131212314100

導入依賴

  • 從 7.2.24 開始,okhttp3 升級到 3.14.2,其要求 java 1.8 及以上。
  • 若一定 java 1.7 ,請手動指定 okhttp3 依賴 3.12,要求 3.12.3 及以上, com.squareup.okhttp3:okhttp:3.12.3
<!-- https://mvnrepository.com/artifact/com.qiniu/qiniu-java-sdk -->
<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>7.11.0</version>
</dependency>

編輯 YAML 配置文件

在配置文件中添加七牛云的一些參數(shù):

#七牛云參數(shù)
qiniu:
  accessKey: IrgJ4tvtYwWMr # AK
  accessSecretKey: J-0wUai568ul7L # SK
  bucket: yunpicos # 空間
  prefix: word/ # 文件名路徑前綴,用于過濾,默認為空
  domain: http://img.roman.top/ # 域名

添加七牛云配置類

封裝七牛云需要的配置參數(shù):

@Getter
@Configuration
public class QiNiuConfig {

    //七牛云 ak
    @Value("${qiniu.accessKey}")
    private String accessKey;

    //七牛云sk
    @Value("${qiniu.accessSecretKey}")
    private String secretKey;

    //指定七牛云空間
    @Value("${qiniu.bucket}")
    private String bucket;

    //文件名路徑前綴
    @Value("${qiniu.prefix:}")
    private String prefix;

    //指定目錄分隔符,列出所有公共前綴(模擬列出目錄效果)。缺省值為空字符串
    @Value("${qiniu.delimiter:}")
    private String delimiter;

    //七牛云空間的域名
    @Value("${qiniu.domain:}")
    private String domain;

}

編寫 QiNiuImgUrls 方法

返回所有圖片外鏈的集合,外鏈格式為【域名+文件路徑】:

public List<String> imgUrls(){
  //參數(shù)
  String accessKey = qiNiuConfig.getAccessKey();
  String secretKey = qiNiuConfig.getSecretKey();
  String bucket = qiNiuConfig.getBucket();
  String prefix = qiNiuConfig.getPrefix();
  String delimiter = qiNiuConfig.getDelimiter();
  String domain = qiNiuConfig.getDomain();

  //構(gòu)造一個帶指定 Region 對象的配置類
  Configuration cfg = new Configuration(Region.region0());

  Auth auth = Auth.create(accessKey, secretKey);

  BucketManager bucketManager = new BucketManager(auth, cfg);

  //每次迭代的長度限制,最大1000,推薦值 1000
  int limit = 1000;

  //列舉空間文件列表
  BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(bucket, prefix, limit, delimiter);
  while (fileListIterator.hasNext()) {
    //處理獲取的file list結(jié)果
    FileInfo[] items = fileListIterator.next();
    //stream流過濾掉掉多余的元素,并將其余元素的所有文件路徑和域名進行拼接,返回所有圖片外鏈的集合
    List<String> collect = Arrays.stream(items).filter(f -> !f.key.equals(prefix)).map(f -> domain+f.key).collect(Collectors.toList());
    return collect;
  }
  return null;
}

測試結(jié)果

返回對應空間下的所有圖片的外鏈:

image-20230609152419286

到此這篇關(guān)于Java獲取七牛云存儲空間中圖片外鏈的文章就介紹到這了,更多相關(guān)Java獲取七牛云圖片外鏈內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java線程封閉之棧封閉和ThreadLocal

    java線程封閉之棧封閉和ThreadLocal

    這篇文章主要介紹了java線程封閉之棧封閉和ThreadLocal,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot Redis用注釋實現(xiàn)接口限流詳解

    SpringBoot Redis用注釋實現(xiàn)接口限流詳解

    Redis 除了做緩存,還能干很多很多事情:分布式鎖、限流、處理請求接口冪等性。。。太多太多了~今天想和小伙伴們聊聊用 Redis 處理接口限流,這也是最近的 項目涉及到這個知識點了,我就拎出來和大家聊聊這個話題
    2022-07-07
  • Spring.Net IOC依賴注入原理流程解析

    Spring.Net IOC依賴注入原理流程解析

    這篇文章主要介紹了Spring.Net IOC依賴注入原理流程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 如何利用泛型封裝通用的service層

    如何利用泛型封裝通用的service層

    這篇文章主要介紹了如何利用泛型封裝通用的service層,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Gson序列化指定忽略字段的三種寫法詳解

    Gson序列化指定忽略字段的三種寫法詳解

    在我們?nèi)粘J褂胘son序列化框架過程中,經(jīng)常會遇到在輸出json字符串時,忽略某些字段,那么在Gson框架中,要想實現(xiàn)這種方式,可以怎么處理呢,本文就來介紹一下
    2021-10-10
  • Spring注入Map集合實現(xiàn)策略模式詳解

    Spring注入Map集合實現(xiàn)策略模式詳解

    這篇文章主要介紹了Spring注入Map集合實現(xiàn)策略模式詳解,Spring提供通過@Resource注解將相同類型的對象注入到Map集合,并將對象的名字作為key,對象作為value封裝進入Map,需要的朋友可以參考下
    2023-11-11
  • SpringBootWeb?入門了解?Swagger?的具體使用

    SpringBootWeb?入門了解?Swagger?的具體使用

    這篇文章主要介紹了SpringBootWeb?入門了解?Swagger?的具體使用,Swagger?框架可以根據(jù)已經(jīng)實現(xiàn)的方法或者類,通過頁面的方式直觀清晰的查看或者進行測試該方法,需要的朋友可以參考下
    2024-08-08
  • mybatis-plus版本不兼容問題的解決

    mybatis-plus版本不兼容問題的解決

    本文主要介紹了mybatis-plus與spring-boot3版本不兼容導致的BeanDefinitionStoreException問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 詳解SpringBoot項目整合Vue做一個完整的用戶注冊功能

    詳解SpringBoot項目整合Vue做一個完整的用戶注冊功能

    本文主要介紹了SpringBoot項目整合Vue做一個完整的用戶注冊功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • java 域?qū)ο蠊蚕頂?shù)據(jù)的實現(xiàn)

    java 域?qū)ο蠊蚕頂?shù)據(jù)的實現(xiàn)

    本文主要介紹了java 域?qū)ο蠊蚕頂?shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論