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

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

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


【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

??什么是阿里云OSS

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

?阿里云OSS的優(yōu)點

  • 高可靠性:OSS采用了多副本存儲和容災備份機制,確保數(shù)據(jù)的高可靠性和持久性。
  • 安全性:支持多種安全策略,如訪問控制、加密傳輸?shù)?,保障?shù)據(jù)的安全性。
  • 彈性擴展:支持按需存儲和彈性擴展,用戶可以根據(jù)實際需求靈活調(diào)整存儲容量。
  • 低成本:OSS的存儲費用低廉,且支持按量付費模式,使用戶能夠根據(jù)實際使用量付費

??????為什么要使用云服務OSS

解決本地存儲無法直接訪問,本地磁盤空間有限,本地磁盤損壞這3個問題

??使用步驟

【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

?OSS開通

(1)打開https://www.aliyun.com/ ,申請阿里云賬號并完成實名認證。
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

開通OSS
登錄阿里云官網(wǎng)。 點擊右上角的控制臺。
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

將鼠標移至產(chǎn)品,找到并單擊對象存儲OSS,打開OSS產(chǎn)品詳情頁面。在OSS產(chǎn)品詳情
頁中的單擊立即開通。
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
開通服務后,在OSS產(chǎn)品詳情頁面單擊管理控制臺直接進入OSS管理控制臺界面。您也
可以單擊位于官網(wǎng)首頁右上方菜單欄的控制臺,進入阿里云管理控制臺首頁,然后單
擊左側(cè)的對象存儲OSS菜單進入OSS管理控制臺界面。
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
創(chuàng)建存儲空間
新建Bucket,命名為 hmleadnews ,讀寫權(quán)限為 公共讀
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

?參考官方SDK

【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

??編寫代碼

我把腳手架上傳到網(wǎng)盤里面了,有需要的同學自取
我用夸克網(wǎng)盤分享了「tlias-web-management」,點擊鏈接即可保存。
鏈接:https://pan.quark.cn/s/6171608c92b2

我們打開網(wǎng)盤里面的代碼

??在pom文件中添加下面的代碼

 <!--阿里云OSS-->
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.15.1</version>
        </dependency>

??如果使用的是Java 9及以上的版本,則需要添加jaxb相關(guān)依賴。添加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>

?上傳文件

我們返回官方文檔,找到上傳文件
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

上傳字符串
以下代碼用于將字符串上傳到目標存儲空間examplebucket中exampledir目錄下的exampleobject.txt文件。

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import java.io.ByteArrayInputStream;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
        String endpoint = "填寫自己的";
        // 從環(huán)境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設(shè)置環(huán)境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // 填寫B(tài)ucket名稱,例如examplebucket。
        String bucketName = "examplebucket";
        // 填寫Object完整路徑,完整路徑中不能包含Bucket名稱,例如exampledir/exampleobject.txt。
        String objectName = "exampledir/exampleobject.txt";

        // 創(chuàng)建OSSClient實例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            // 填寫字符串。
            String content = "Hello OSS,你好世界";

            // 創(chuàng)建PutObjectRequest對象。
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));

            // 如果需要上傳時設(shè)置存儲類型和訪問權(quán)限,請參考以下示例代碼。
            // ObjectMetadata metadata = new ObjectMetadata();
            // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
            // metadata.setObjectAcl(CannedAccessControlList.Private);
            // putObjectRequest.setMetadata(metadata);
           
            // 上傳字符串。
            PutObjectResult result = ossClient.putObject(putObjectRequest);            
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}   

把代碼的相關(guān)內(nèi)容修改為自己的
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

??綜合案例

我們創(chuàng)建工具類包,導入阿里云工具類相關(guān)代碼

package com.itheima.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.UUID;

/**
 * 阿里云 OSS 工具類
 */
public class AliOSSUtils {

    private String endpoint = "填寫自己的";
    private String accessKeyId = "填寫自己的";
    private String accessKeySecret = "填寫自己的";
    private String bucketName = "填寫自己的";

    /**
     * 實現(xiàn)上傳圖片到OSS
     */
    public String upload(MultipartFile file) throws IOException {
        // 獲取上傳的文件的輸入流
        InputStream inputStream = file.getInputStream();

        // 避免文件覆蓋
        String originalFilename = file.getOriginalFilename();
        String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));

        //上傳文件到 OSS
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        ossClient.putObject(bucketName, fileName, inputStream);

        //文件訪問路徑
        String url = endpoint.split("http://")[0] + "http://" + bucketName + "." + endpoint.split("http://")[1] + "/" + fileName;
        // 關(guān)閉ossClient
        ossClient.shutdown();
        return url;// 把上傳到oss的路徑返回
    }

}

把代碼的相關(guān)內(nèi)容修改為自己的
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

在AliOSSUtils中加上@Component注解,交給ioc容器進行管理

【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端

編寫UploadController類
【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端
寫入下面的代碼

package com.itheima.controller;

import com.itheima.pojo.Result;
import com.itheima.utils.AliOSSUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

@Slf4j
@RestController
public class UploadController {
    
    @Autowired
    private AliOSSUtils aliOSSUtils;
    
    @PostMapping("/upload")
    public Result upload(MultipartFile image) throws IOException {
        log.info("文件上傳,文件名{}",image.getOriginalFilename());
        
        //調(diào)用阿里云OSS工具類進行文件上傳
        String url=aliOSSUtils.upload(image);
        log.info("文件上傳完成,url:{}", url);
        
        return Result.success(url);
    }
}

完結(jié),散花!

【SpringBoot篇】阿里云OSS—存儲文件的利器,SpringBoot,spring boot,阿里云,后端文章來源地址http://www.zghlxwxcb.cn/news/detail-759859.html

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

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

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

相關(guān)文章

  • SpringBoot整合阿里云OSS對象存儲

    SpringBoot整合阿里云OSS對象存儲

    阿里云對象存儲服務(Object Storage Service,簡稱OSS)為您提供基于網(wǎng)絡(luò)的數(shù)據(jù)存取服務。使用OSS,您可以通過網(wǎng)絡(luò)隨時存儲和調(diào)用包括文本、圖片、音頻和視頻等在內(nèi)的各種非結(jié)構(gòu)化數(shù)據(jù)文件。 阿里云OSS將數(shù)據(jù)文件以對象(object)的形式上傳到存儲空間(bucket)中。 可以進行

    2024年02月06日
    瀏覽(29)
  • 阿里云對象存儲OSS文件上傳

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

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

    2024年02月12日
    瀏覽(24)
  • 微信小程序上傳文件(圖片)至阿里云OSS,包含后端代碼示例。

    微信小程序上傳文件(圖片)至阿里云OSS,包含后端代碼示例。

    ps:本文較為詳細,需要有耐心的閱讀,要是圖片看不清楚可以下載到本地放大查看。 寫這篇博客的主要目的是因為serverless架構(gòu)下直接上傳圖片只能轉(zhuǎn)base64,且body大小有限制 一、在阿里云創(chuàng)建RAM用戶與角色 1.為什么要使用RAM用戶? 云賬號 AccessKey 是您訪問阿里云 API 的密鑰,具

    2024年02月04日
    瀏覽(27)
  • 阿里云對象存儲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)
  • 微信小程序 - 超詳細 “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端,前端文件直傳阿里云oss服務器)

    微信小程序 - 超詳細 “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端,前端文件直傳阿里云oss服務器)

    網(wǎng)上的教程亂七八糟卻文件少代碼(并且沒注釋),而且都已經(jīng)很老了,對于新手來說真的無從下手。 本文站在新手小白的角度, 實現(xiàn)微信小程序開發(fā)中,“前端直傳” 上傳文件到阿里云oss對象存儲的詳細教程, 無需后端 (純前端自己完成所有簽名、上傳),保證 100% 成

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

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

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

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

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

    目錄 一、開通 “對象存儲 OSS” 服務: 二、創(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)
  • springboot整合阿里云oss實現(xiàn)文件上傳

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

    通過阿里云oss進行文件上傳,首先需要開通相關(guān)的服務,這邊就不在具體說明,不懂的可以百度看一下。 阿里云oss有幾個關(guān)鍵的參數(shù),這也是后續(xù)通過java進行上傳所需要的參數(shù),分別是endpoint(域結(jié)點)、AccessKey ID(秘鑰id)、AccessKey secret(秘鑰)、bucket name(bucket域名)。 ?通過這幾

    2024年01月25日
    瀏覽(22)
  • Spring Boot 實現(xiàn)文件本地以及OSS上傳

    Maven依賴 封裝工具類 上面的代碼我們可以定義一個工具類,這樣在任何需要文件上傳的地方只需要調(diào)用 upload 方法即可,大大減少了代碼量 使用工具類

    2024年03月08日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包