国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot整合阿里云OSS文件存儲解決方案

這篇具有很好參考價值的文章主要介紹了SpringBoot整合阿里云OSS文件存儲解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?????作者名稱:DaenCode
??作者簡介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗、生活。
??人生感悟:嘗盡人生百味,方知世間冷暖。
??所屬專欄:SpringBoot實戰(zhàn)


系列文章目錄

以下是專欄部分內(nèi)容,更多內(nèi)容請前往專欄查看!

標(biāo)題
一文帶你學(xué)會使用SpringBoot+Avue實現(xiàn)短信通知功能(含重要文件代碼)
一張思維導(dǎo)圖帶你學(xué)會Springboot創(chuàng)建全局異常、自定義異常
一張思維導(dǎo)圖帶你打通SpringBoot自定義攔截器的思路
28個SpringBoot項目中常用注解,日常開發(fā)、求職面試不再懵圈
一張思維導(dǎo)圖帶你學(xué)會SpringBoot、Vue前后端分離項目線上部署
一張流程圖帶你學(xué)會SpringBoot結(jié)合JWT實現(xiàn)登錄功能
一張思維導(dǎo)圖帶你學(xué)會使用SpringBoot中的Schedule定時發(fā)送郵件
一張思維導(dǎo)圖帶你學(xué)會使用SpringBoot異步任務(wù)實現(xiàn)下單校驗庫存
一張思維導(dǎo)圖帶你學(xué)會SpringBoot使用AOP實現(xiàn)日志管理功能

SpringBoot整合阿里云OSS文件存儲解決方案,SpringBoot實戰(zhàn),spring boot,后端


專欄推薦

  • 專門為Redis入門打造的專欄,包含Redis基礎(chǔ)知識、基礎(chǔ)命令、五大數(shù)據(jù)類型實戰(zhàn)場景、key刪除策略、內(nèi)存淘汰機制、持久化機制、哨兵模式、主從復(fù)制、分布式鎖等等內(nèi)容。鏈接>>>>>>>>>《Redis從頭學(xué)》
  • 專門為RabbitMQ入門打造的專欄,持續(xù)更新中。。。。。。。。鏈接>>>>>>>《圖解RabbitMQ》

??前言

對于項目中的文件存儲有兩張方案,一種是存儲在項目中,另一種則是采用分布式存儲。第一種解決方案,隨著文件數(shù)量越來越多,對于文件上傳下載的帶寬有影響并且對于以后存儲的擴容有很大的不便性。本文來說一張分布式存儲中的云廠商文件系統(tǒng)解決方案,有關(guān)于阿里云OSS文件上傳的使用。

??介紹

官網(wǎng):https://www.aliyun.com/product/oss?utm_content=se_1014317304
上述是官網(wǎng)地址,沒有用過的,可以申請三個月的體驗期。

它是具有與平臺無關(guān)的Restful api接口。任何應(yīng)用、時間、語言都可以訪問。并且分為多種存儲類型:標(biāo)準(zhǔn)存儲類型、低頻訪問類型、歸檔訪問類型、冷歸檔訪問類型。其存儲類型的數(shù)據(jù)熱度從大到小一次為:標(biāo)準(zhǔn)、低頻、歸檔、冷歸檔。

??準(zhǔn)備

1.創(chuàng)建bucket。這里要注意讀寫權(quán)限選擇公共讀。這里截圖截錯了。
SpringBoot整合阿里云OSS文件存儲解決方案,SpringBoot實戰(zhàn),spring boot,后端
2.創(chuàng)建用戶RAM權(quán)限。注意復(fù)制key,只會出現(xiàn)一次
SpringBoot整合阿里云OSS文件存儲解決方案,SpringBoot實戰(zhàn),spring boot,后端

??引入依賴

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.15.1</version>
</dependency>
如果使用的是Java 9及以上的版本,則需要添加jaxb相關(guān)依賴
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.3</version>
</dependency>

??配置文件

進入實例查看endpoint:
SpringBoot整合阿里云OSS文件存儲解決方案,SpringBoot實戰(zhàn),spring boot,后端

aliyun:
  oss:
    endpoint: oss-cn-beijing.aliyuncs.com
    access-key-id: 你復(fù)制的accessID
    access-key-secret: 你復(fù)制的keyScret
    bucketname: 你創(chuàng)建的buckert名稱

??配置類

創(chuàng)建OSS配置類,讀取配置文件中的內(nèi)容。

@ConfigurationProperties(prefix = "aliyun.oss")
@Configuration
@Data
public class OssConfig {
    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}

??文件上傳組件-service層

上傳流程:采用multipartFile。

  1. 讀取OSSConfig配置類中的配置。
  2. 根據(jù)讀取到的endpoint、accesskeyID、accessScret創(chuàng)建OSS客戶端實例Ossclient。
  3. 配置實例參數(shù)。
  4. 獲取上傳的文件名、拓展名;定義上傳后的文件名。
  5. 拼接路徑
  6. 返回上傳后的路徑地址。
 @Autowired
    private OSSConfig ossConfig;

    /**
     * oss上傳文件
     * 1.創(chuàng)建oss客戶端實例
     * 2.配置實例參數(shù)
     * 3.拼接路徑
     * @param file
     * @return
     */
    @Override
    public String uploadFile(MultipartFile file) {
        String endPoint=ossConfig.getEndpoint();
        String accessKeyId=ossConfig.getAccessKeyId();
        String accessKeyScret=ossConfig.getAccessKeySecret();
        String bucketName= ossConfig.getBucketName();
        //創(chuàng)建ossClient實例
        OSS ossClient= new OSSClientBuilder().build(endPoint,accessKeyId,accessKeyScret);
        //拼接路徑
        String originFileName=file.getOriginalFilename();
        DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy/mm/dd");
        LocalDateTime localDateTime=LocalDateTime.now();
        //根據(jù)日期分類文件夾
        String folderName=dtf.format(localDateTime);
        //新文件名
        String newFileName= CommonUtil.getRandom(4);
        //獲取拓展名
        String extension=originFileName.substring(originFileName.lastIndexOf("."));
        String newFile="user/"+folderName+"/"+newFileName+extension;
        //推送
        try {
            PutObjectResult result = ossClient.putObject(bucketName, newFile, file.getInputStream());
            if (result!=null){
                return "https://"+endPoint+"."+bucketName+"."+"/"+newFile;
            }
        } catch (IOException e) {
            throw new SelfException(GlobalExceptionEnum.FILE_UPLOAD_ERROR);
        }finally {
            ossClient.shutdown();
        }
        return null;
    }

??上傳文件接口

  /**
     * 頭像上傳
     * @param file 上傳的文件
     * @return
     */
    @ApiOperation("頭像上傳")
    @PostMapping("upload")
    public JsonResult upload(@ApiParam(value = "文件") @RequestPart(value = "file")MultipartFile file){
        String path = fileService.uploadFile(file);
        if (StringUtils.isBlank(path)){
            return JsonResult.exceptionResponse(GlobalExceptionEnum.FILE_UPLOAD_ERROR);
        }
        return JsonResult.success("上傳成功",path);
    }

??寫在最后

有關(guān)于SpringBoot整合阿里云OSS實現(xiàn)文件上傳介紹到此就結(jié)束了。感謝大家的閱讀,希望大家在評論區(qū)對此部分內(nèi)容散發(fā)討論,便于學(xué)到更多的知識。


SpringBoot整合阿里云OSS文件存儲解決方案,SpringBoot實戰(zhàn),spring boot,后端文章來源地址http://www.zghlxwxcb.cn/news/detail-714259.html

到了這里,關(guān)于SpringBoot整合阿里云OSS文件存儲解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【SpringBoot篇】阿里云OSS—存儲文件的利器

    【SpringBoot篇】阿里云OSS—存儲文件的利器

    阿里云對象存儲(Alibaba Cloud Object Storage Service,簡稱OSS)是阿里云提供的海量、安全、低成本、高可靠的云存儲服務(wù)。用戶可以通過簡單的API接口在任何時間、任何地點上傳和下載數(shù)據(jù),適用于圖像、音視頻、文檔、網(wǎng)站等各種類型的數(shù)據(jù)存儲和分發(fā)場景。 高可靠性:OSS采用

    2024年02月04日
    瀏覽(43)
  • SpringBoot集成-阿里云對象存儲OSS

    SpringBoot集成-阿里云對象存儲OSS

    阿里云對象存儲 OSS (Object Storage Service),是一款海量、安全、低成本、高可靠的云存儲服務(wù)。使用 OSS,你可以通過網(wǎng)絡(luò)隨時存儲和調(diào)用包括文本、圖片、音頻和視頻等在內(nèi)的各種文件。 登錄阿里云后進入阿里云控制臺首頁選擇 對象存儲 OSS 服務(wù) 開通服務(wù) 創(chuàng)建Bucket 填寫

    2024年02月06日
    瀏覽(17)
  • SpringCloud整合阿里云OSS實現(xiàn)文件上傳

    SpringCloud整合阿里云OSS實現(xiàn)文件上傳

    阿里云OSS官網(wǎng):OSS管理控制臺 (aliyun.com) 什么是對象存儲OSS 阿里云對象存儲OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存儲服務(wù),可提供99.9999999999%(12個9)的數(shù)據(jù)持久性,99.995%的數(shù)據(jù)可用性。多種存儲類型供選擇,全面優(yōu)化存儲成本。 OSS具有與平臺無

    2023年04月13日
    瀏覽(46)
  • 阿里云對象存儲OSS文件上傳

    阿里云對象存儲OSS文件上傳

    阿里云oss地址: 對象存儲OSS_云存儲服務(wù)_企業(yè)數(shù)據(jù)管理_存儲-阿里云 阿里云對象存儲OSS是一款海量、安全、低成本、高可靠的云存儲服務(wù),提供12個9的數(shù)據(jù)持久性,99.995%的數(shù)據(jù)可用性和多種存儲類型,適用于數(shù)據(jù)湖存儲,數(shù)據(jù)遷移,企業(yè)數(shù)據(jù)管理,數(shù)據(jù)處理等多種場景,可對

    2024年02月12日
    瀏覽(24)
  • Springboot集成阿里云對象存儲oss-前端-后端完整實現(xiàn)

    Springboot集成阿里云對象存儲oss-前端-后端完整實現(xiàn)

    1.注冊阿里云并購買套餐流量包 2.點擊套餐買個流量包,5元半年40g,還挺便宜 ? ?3.購買后進入管理控制臺-點開對象存儲oss 4.點開bucket創(chuàng)建,我已經(jīng)創(chuàng)建好了 ? ?5.需要復(fù)制每個人的 外網(wǎng)訪問,這個到時候需要在springboot項目中配置 ?6.點擊個人頭像創(chuàng)建每個人自己的key ? ?

    2024年02月05日
    瀏覽(19)
  • SpringBoot整合OSS文件上傳

    SpringBoot整合OSS文件上傳

    1、登錄阿里云賬號 2、創(chuàng)建一個bucket 3、創(chuàng)建子用戶 對自用戶分配權(quán)限,打開操作OSS的全部權(quán)限(也可根據(jù)業(yè)務(wù)需求進行更改) 4、配置上傳跨域規(guī)則 任何來源: * 允許方法: POST 任何請求頭Headers: * 每個OSS的用戶都會用到上傳服務(wù)。Web端常見的上傳方法是用戶在瀏覽器或App端上

    2024年02月07日
    瀏覽(17)
  • 阿里云對象存儲oss-文件上傳過程詳解(兩種方式)

    阿里云對象存儲oss-文件上傳過程詳解(兩種方式)

    問題:需要配置系統(tǒng)變量才能夠使用 以win11為例 (1)打開設(shè)置 (2)選擇----系統(tǒng)信息 (3)選擇----高級系統(tǒng)設(shè)置 (4)選擇----環(huán)境變量 (5)選擇----系統(tǒng)變量這欄-----新建 (6)在“變量名”輸入框中輸入 OSS_ACCESS_KEY_ID,在“變量值”輸入框中輸入你的Access Key ID。再次點擊“新建”按鈕,輸入

    2024年02月10日
    瀏覽(100)
  • Unity 上傳文件到阿里云 對象存儲OSS服務(wù)器

    Unity 上傳文件到阿里云 對象存儲OSS服務(wù)器

    首先登錄阿里云 免費試用–對象存儲OSS --點擊立即試用,可以有三個月的免費試用 創(chuàng)建Buket 新建AccessKey ,新建完成后,會有一個CSV文件,下載下來,里面有Key ,代碼中需要用到 下載SDK 雙擊打開 sln文件,使用VS打開,右鍵項目–屬性,修改程序集名字,然后點擊生成–生成解

    2024年02月13日
    瀏覽(101)
  • 【開發(fā)環(huán)境】(阿里云分布式文件系統(tǒng))對象存儲OSS 服務(wù)配置

    【開發(fā)環(huán)境】(阿里云分布式文件系統(tǒng))對象存儲OSS 服務(wù)配置

    目錄 一、開通 “對象存儲 OSS” 服務(wù): 二、創(chuàng)建 Bucket 容器: 1.創(chuàng)建一個Bucket: 三、使用 OSS 對象存儲: 四、使用 SDK 訪問 OSS: 1.安裝使用 OSS SDK: 2.SDK 配置和測試: ? ? ? ? 進入阿里云官網(wǎng): https://www.aliyun.com/ https://www.aliyun.com/ ? ? ? ? 進入到 OSS 對象存儲的管理平臺

    2024年02月02日
    瀏覽(122)
  • 阿里云OSS對象存儲使用臨時URL訪問,并對下載文件重命名

    阿里云OSS對象存儲使用臨時URL訪問,并對下載文件重命名

    如何使用臨時授權(quán)的url訪問云對象地址,又如何通過該URL下載自定義的文件名。 下面是兩個內(nèi)容點: 1.直接獲取臨時url,這個跟官方的差不多,基本上照搬即可。 2.獲取臨時url,并且可以對下載文件重命名。 java SDK版本 3.5.0 官方文檔 oss java sdk 舉例 直接使用臨時URL訪問,這里可

    2024年02月09日
    瀏覽(126)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包