Springboot集成阿里云OSS上传文件系统教程

yizhihongxing

下面我将介绍一个完整的Spring Boot集成阿里云OSS上传文件系统的完整攻略。

1. 引入依赖

我们首先需要在pom.xml文件中引入阿里云OSS的Java SDK依赖,如下所示:

<dependencies>
  <dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.4</version>
  </dependency>
</dependencies>

2. 配置OSS信息

在application.yml(或application.properties)文件中配置阿里云OSS访问信息:

aliyun:
  oss:
    endpoint: oss-cn-hangzhou.aliyuncs.com # 阿里云OSS地域域名
    accessKeyId: <your-accessKeyId> # 阿里云OSS的accessKeyId
    accessKeySecret: <your-accessKeySecret> # 阿里云OSS的accessKeySecret
    bucketName: <your-bucketName> # 阿里云OSS的bucketName
    folder: <your-folder> # 存放上传文件的目录

3. 上传文件

使用Java SDK上传文件到阿里云OSS,示例代码如下:

@Service
public class OSSService {
    @Autowired
    private OSSClient ossClient;
    @Value("${aliyun.oss.bucketName}")
    private String bucketName;
    @Value("${aliyun.oss.folder}")
    private String folder;

    /**
     * 上传文件,返回文件在OSS的存储路径
     */
    public String upload(File file){
        // 生成唯一文件名
        String fileName = UUID.randomUUID().toString().replace("-", "");
        // 获取文件扩展名
        String extension = file.getName().substring(file.getName().lastIndexOf("."));
        // 拼接OSS文件名
        String ossName = folder + "/" + fileName + extension;
        try {
            // 创建上传请求
            PutObjectRequest request = new PutObjectRequest(bucketName,ossName,file);
            // 执行上传请求
            ossClient.putObject(request);
            // 返回文件的访问地址
            return "https://"+bucketName+"."+ossClient.getEndpoint().toString().replace("http://","").replace("https://","")+"/"+ossName;
        } catch (OSSException | ClientException e) {
            e.printStackTrace();
        }
        return null;
    }
}

4. 下载文件

使用Java SDK从阿里云OSS下载文件,示例代码如下:

@Service
public class OSSService {
    @Autowired
    private OSSClient ossClient;
    @Value("${aliyun.oss.bucketName}")
    private String bucketName;

    public byte[] download(String ossName){
        try {
            // 获取文件流
            OSSObject ossObject = ossClient.getObject(bucketName, ossName);
            InputStream inputStream = ossObject.getObjectContent();
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            // 读取文件内容到内存中
            byte[] buffer = new byte[4096];
            int len;
            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) {
                byteArrayOutputStream.write(buffer, 0, len);
            }
            byteArrayOutputStream.flush();
            inputStream.close();
            byteArrayOutputStream.close();
            // 返回文件内容
            return byteArrayOutputStream.toByteArray();
        } catch (OSSException | ClientException | IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

以上就是Spring Boot集成阿里云OSS上传文件系统的完整攻略。如果想要了解更多细节,请参考阿里云OSS官方文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot集成阿里云OSS上传文件系统教程 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Spring Boot集成netty实现客户端服务端交互示例详解

    Spring Boot集成Netty实现客户端服务端交互示例详解 介绍 Netty是一个基于Java的专业高性能网络通信框架,其提供了非常优秀的网络通信功能和容易扩展的API。而Spring Boot则是一个具有高度自动化和约定优于配置的约定框架,其简化了Spring的开发流程。通过将两者结合起来,可以更加轻松、方便地实现网络通信的开发。 本文将详细讲解如何…

    other 2023年6月27日
    00
  • Android跳转系统设置Settings的各个界面详解

    Android跳转系统设置Settings的各个界面详解攻略 在Android开发中,我们经常需要跳转到系统设置界面(Settings)来进行一些配置或者获取一些信息。下面是关于Android跳转系统设置的各个界面的详细攻略。 1. 跳转到WLAN设置界面 要跳转到WLAN设置界面,可以使用以下代码: Intent intent = new Intent(S…

    other 2023年9月7日
    00
  • C语言字符串数组详解

    C语言字符串数组详解 字符串 字符串是由字符组成的数组。在C语言中,字符串都是以’\0’(空字符)为结尾的一维字符数组。例如,”Hello”实际上是一个有5个元素的字符数组,其最后一个元素’\0’表示字符串的结束。 字符串数组 字符串数组是由多个字符串组成的数组。在C语言中,可以用字符指针数组或二维字符数组来表示字符串数组。下面分别介绍两种表示方法。 字符指…

    other 2023年6月20日
    00
  • 如何在plsql/developer的命令窗口执行sql脚本

    以下是“如何在PL/SQL Developer的命令窗口执行SQL脚本”的完整攻略,过程中包含两个示例说明的标准格式文本: 在PL/SQL Developer的命令窗口SQL脚本 PL/SQL Developer是一款常用的Oracle数据库开发工具,它提供了一个命令窗口,可以用于执行SQL脚。本文将介绍如何在PL/SQL Developer的命令窗口中执行…

    other 2023年5月10日
    00
  • 【odoo14】第一章、安装odoo的开发环境

    【odoo14】第一章、安装odoo的开发环境 本篇文章将介绍如何安装odoo的开发环境,以下步骤适用于odoo14版本。 1. 安装Python3及其相关依赖库 odoo使用Python3作为开发语言,因此需要先安装Python3及其相关依赖库。 在Linux下,可以使用以下命令进行安装: sudo apt-get install python3 pyth…

    其他 2023年3月28日
    00
  • loadrunner简单介绍—性能自动化测试工具

    LoadRunner是一款常用的性能自动化测试工具,可以帮助您模拟多种负载情况下的应用程序性能。以下是LoadRunner的整攻略: 步骤1:安装LoadRunner 首先,您需要安装LoadRunner。您可以按照以下步骤安装: 下载LoadRunner安装程序。 运行安装程序。 按照安装向导的指示进行操作,完成安装。 步骤2:创建脚本 安装完成后,您需要…

    other 2023年5月6日
    00
  • webapi接口测试工具:swagger

    Web API接口测试工具:Swagger Web API是现代Web应用程序的核心,它提供了一种标准化的方法来与远程应用程序进行通信。Web API接口的开发和测试是一个繁琐而重要的任务。在测试API接口时,为了确保能够完全测试每个API的不同功能,您需要一种实用的工具,Swagger是一个很好的选择。 Swagger是一个流行的Web API开发框架,它…

    其他 2023年3月28日
    00
  • centos查看运行服务

    当然,我很乐意为您提供CentOS查看运行服务的攻略。以下是详细的步骤和示例: 步骤1:登录到CentOS服务器 首先,您需要登录到CentOS服务器。您可以使用SSH客户端连接到服务器,或者在服务器本地终端中登录。 步骤2:使用systemctl命令查看运行服务 CentOS使用systemctl命令来管理系统服务。您可以使用systemctl命令来查看当…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部