亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

ApiBoot - ApiBoot Alibaba Oss 使用文檔

fengxiuping / 801人閱讀

摘要:添加快速集成的對(duì)象存儲(chǔ)服務(wù),提供常用的文件操作方法,當(dāng)然也提供自定義擴(kuò)展,以致于滿足絕大數(shù)業(yè)務(wù)場(chǎng)景,并且通過(guò)擴(kuò)展可以實(shí)現(xiàn)上傳文件進(jìn)度條下載文件進(jìn)度條存儲(chǔ)空間操作靜態(tài)網(wǎng)站托管訪問(wèn)日志防盜鏈分片上傳追加上傳斷點(diǎn)續(xù)傳等等。

ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接口開(kāi)發(fā)者可以選著性完成開(kāi)箱即用, 不再為搭建接口框架而犯愁,從而極大的提高開(kāi)發(fā)效率。

ApiBoot添加快速集成Aliyun的對(duì)象存儲(chǔ)服務(wù)Oss,提供常用的文件操作方法,當(dāng)然也提供自定義擴(kuò)展,以致于滿足絕大數(shù)業(yè)務(wù)場(chǎng)景,并且通過(guò)擴(kuò)展可以實(shí)現(xiàn)上傳文件進(jìn)度條、下載文件進(jìn)度條、存儲(chǔ)空間操作、靜態(tài)網(wǎng)站托管、訪問(wèn)日志、防盜鏈、分片上傳、追加上傳、斷點(diǎn)續(xù)傳等等。

引入ApiBoot Alibaba Oss

pom.xml配置文件內(nèi)添加依賴,如下所示:



    org.minbox.framework
    api-boot-starter-alibaba-oss

ApiBoot所提供的依賴都不需要添加版本號(hào),具體查看ApiBoot版本依賴

配置參數(shù)列表
配置參數(shù) 參數(shù)介紹 默認(rèn)值 是否必填
api.boot.oss.region oss所屬地域
api.boot.oss.bucket-name oss存儲(chǔ)空間名稱
api.boot.oss.access-key-id 阿里云賬戶accessKeyId
api.boot.oss.access-key-secret 阿里云賬戶accessKeySecret
api.boot.oss.domain oss存儲(chǔ)空間所綁定的自定義域名,如果不配置,上傳文件成功后返回默認(rèn)格式化的文件訪問(wèn)路徑
上傳文件

在使用ApiBoot Oss時(shí),只需要注入ApiBootOssService類就可以完成默認(rèn)方法的使用,如下所示:

@Autowired
private ApiBootOssService apiBootOssService;
流上傳
/**
  * 流方式上傳
  */
@Test
public void uploadBytes() {
  ApiBootObjectStorageResponse response = apiBootOssService.upload("admin.txt", "admin".getBytes());
  logger.info("文件名稱:{}", response.getObjectName());
  logger.info("文件訪問(wèn)路徑:{}", response.getObjectUrl());
}
本地文件上傳
/**
* 本地文件上傳
*/
@Test
public void uploadFile() {
    ApiBootObjectStorageResponse response = apiBootOssService.upload("logo.png", "/Users/yuqiyu/Downloads/logo.png");
    logger.info("文件名稱:{}", response.getObjectName());
    logger.info("文件訪問(wèn)路徑:{}", response.getObjectUrl());
}
文件流上傳
/**
* 文件流方式上傳
*
* @throws Exception
*/
@Test
public void uploadInputStream() throws Exception {
    FileInputStream inputStream = new FileInputStream(new File("/Users/yuqiyu/Downloads/logo.png"));
    ApiBootObjectStorageResponse response = apiBootOssService.upload("測(cè)試.png", inputStream);
    logger.info("文件名稱:{}", response.getObjectName());
    logger.info("文件訪問(wèn)路徑:{}", response.getObjectUrl());
}
通過(guò)文件的輸入流完成對(duì)象存儲(chǔ)文件的上傳
下載文件
/**
  * 下載文件
  */
@Test
public void download() {
  apiBootOssOverrideService.download("測(cè)試.png", "/Users/yuqiyu/Downloads/測(cè)試.png");
}
在上面的示例中,文件會(huì)自動(dòng)下載到/Users/yuqiyu/Downloads/目錄下,文件名稱為測(cè)試.png。
刪除文件
/**
* 刪除文件示例
*/
@Test
public void delete() {
    apiBootOssOverrideService.delete("測(cè)試.png");
}
刪除對(duì)象存儲(chǔ)空間內(nèi)的文件時(shí)只需要傳遞文件名即可。
MultipartFile 上傳文件

如果你是通過(guò)SpringMvc提供的MultipartFile對(duì)象進(jìn)行上傳文件,可以通過(guò)如下示例進(jìn)行上傳:

MultipartFile multipartFile = ..;
// 流方式上傳
ApiBootObjectStorageResponse responseByte = apiBootOssService.upload("測(cè)試.png", multipartFile.getBytes());
// 文件輸入流方式上傳
ApiBootObjectStorageResponse responseIs = apiBootOssService.upload("測(cè)試.png", multipartFile.getInputStream());
自定義擴(kuò)展

ApiBoot Alibaba Oss提供的方法畢竟是有限的,因此ApiBoot提供了自定義的擴(kuò)展方式,讓使用者可以根據(jù)Oss官方文檔進(jìn)行擴(kuò)展,包含上傳文件進(jìn)度條、下載文件進(jìn)度條、存儲(chǔ)空間操作、靜態(tài)網(wǎng)站托管、訪問(wèn)日志、防盜鏈、分片上傳、追加上傳、斷點(diǎn)續(xù)傳等等。

自定義擴(kuò)展首先需要?jiǎng)?chuàng)建類并繼承ApiBootOssService,如下所示:

//...
public class ApiBootOssOverrideService extends ApiBootOssService {
    /**
     * logger instance
     */
    static Logger logger = LoggerFactory.getLogger(ApiBootOssOverrideService.class);

    /**
     * 實(shí)現(xiàn)父類構(gòu)造函數(shù)
     *
     * @param endpoint        外網(wǎng)節(jié)點(diǎn)
     * @param bucketName      存儲(chǔ)空間名稱
     * @param accessKeyId     阿里云賬號(hào)授權(quán)Id
     * @param accessKeySecret 阿里云賬號(hào)授權(quán)Secret
     * @param domain          自定義域名
     */
    public ApiBootOssOverrideService(String endpoint, String bucketName, String accessKeyId, String accessKeySecret, String domain) {
        super(endpoint, bucketName, accessKeyId, accessKeySecret, domain);
    }

    /**
     * 創(chuàng)建bucket存儲(chǔ)
     *
     * @param bucketName 存儲(chǔ)名稱
     */
    public void createBucket(String bucketName) {
        OSSClient ossClient = getOssClient();
        Bucket bucket = ossClient.createBucket(bucketName);
        logger.info("新創(chuàng)建存儲(chǔ)空間名稱:{}", bucket.getName());
        logger.info("新創(chuàng)建存儲(chǔ)空間所屬人:{}", bucket.getOwner().getDisplayName());
        closeOssClient(ossClient);
    }
}

如上createBucket方法所示ApiBootOssService內(nèi)部提供了獲取OssClient以及關(guān)閉OssClient連接的方法,可以直接調(diào)用。

擴(kuò)展生效

我們自定義的擴(kuò)展,需要將實(shí)例放入SpringIOC容器內(nèi),方便我們?cè)谑褂锰庍M(jìn)行注入,要注意,由于構(gòu)造函數(shù)參數(shù)的原因,無(wú)法直接通過(guò)@Service或者@Component注解進(jìn)行標(biāo)注,需要通過(guò)如下方式:

//...
@Bean
@ConditionalOnMissingBean
ApiBootOssOverrideService apiBootOssOverrideService(ApiBootOssProperties apiBootOssProperties) {
  return new ApiBootOssOverrideService(apiBootOssProperties.getRegion().getEndpoint(), apiBootOssProperties.getBucketName(), apiBootOssProperties.getAccessKeyId(), apiBootOssProperties.getAccessKeySecret(), apiBootOssProperties.getDomain());
}

ApiBootOssProperties屬性配置類,是ApiBoot內(nèi)置的,可以在任意地方進(jìn)行注入,這里目的只是為了拿到相關(guān)配置進(jìn)行構(gòu)造參數(shù)實(shí)例化使用。

本章源碼地址:https://github.com/hengboy/api-boot/tree/master/api-boot-samples/api-boot-sample-alibaba-oss

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/74056.html

相關(guān)文章

  • ApiBoot - ApiBoot Alibaba Sms 使用文檔

    摘要:的短信服務(wù)模塊是由阿里云的國(guó)際短信服務(wù)提供的,支持國(guó)內(nèi)和國(guó)際快速發(fā)送驗(yàn)證碼短信通知和推廣短信。前提需要到阿里云控制臺(tái)申請(qǐng)開(kāi)通短信服務(wù)。如果在阿里云控制臺(tái)定義的短信模板存在多個(gè)參數(shù),可以通過(guò)方法來(lái)進(jìn)行挨個(gè)添加,該方法返回值為本對(duì)象。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接...

    cheng10 評(píng)論0 收藏0
  • ApiBoot 2.0.4.RELEASE版本發(fā)布

    摘要:是一款基于的接口服務(wù)集成基礎(chǔ)框架,內(nèi)部提供了框架的封裝集成,讓接口開(kāi)發(fā)者完成開(kāi)箱即用,不再為搭建接口框架而犯愁,從而極大的提高開(kāi)發(fā)效率。 ApiBoot是一款基于SpringBoot1.x、SpringBoot2.x的接口服務(wù)集成基礎(chǔ)框架,內(nèi)部提供了框架的封裝集成,讓接口開(kāi)發(fā)者完成開(kāi)箱即用,不再為搭建接口框架而犯愁,從而極大的提高開(kāi)發(fā)效率。通過(guò)在我的SpringBoot系列教程中得到的...

    JellyBool 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Resource Load 使用文檔

    摘要:注意如果你的方法返回對(duì)象只有一個(gè)資源對(duì)象需要映射,可以單獨(dú)配置使用注解。集合資源加載返回值為集合的示例類型作為返回值時(shí),其中注意必須是對(duì)象類型。如果你有想要的使用方式,你就可以提交 ApiBoot Resource Load ApiBoot Resource Load是一款資源與業(yè)務(wù)完全分離的基礎(chǔ)框架,可以整合微服務(wù)(Feign、OpenFeign)進(jìn)行負(fù)載均衡讀取固定類型、固定所屬業(yè)...

    diabloneo 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Swagger 使用文檔

    摘要:相關(guān)配置配置參數(shù)參數(shù)介紹默認(rèn)值是否啟用文檔標(biāo)題快速集成文檔文檔描述通過(guò)自動(dòng)化配置快速集成文檔,僅需一個(gè)注解一個(gè)依賴即可。注意通過(guò)所獲取的類型都為。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接口開(kāi)發(fā)者可以選著性完成開(kāi)箱即用, 不再為搭建接口框架而犯愁,從而極大...

    yuanxin 評(píng)論0 收藏0
  • ApiBoot - ApiBoot Security Oauth 依賴使用文檔

    摘要:如果全部使用默認(rèn)值的情況話不需要做任何配置方式前提項(xiàng)目需要添加數(shù)據(jù)源依賴。獲取通過(guò)獲取啟用在使用格式化時(shí)非常簡(jiǎn)單的,配置如下所示開(kāi)啟轉(zhuǎn)換轉(zhuǎn)換時(shí)所需加密,默認(rèn)為恒宇少年于起宇默認(rèn)不啟用,簽名建議進(jìn)行更換。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接口開(kāi)發(fā)者可以選著性完成開(kāi)箱即...

    Tonny 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<