阿里云对象存储(OSS)服务

阿里云对象存储(OSS)服务

  1. 引入依赖

    xml 复制代码
    <!--阿里云OSS服务-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>aliyun-oss-spring-boot-starter</artifactId>
        <exclusions>
            <!--排除默认版本的依赖-->
            <exclusion>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <!--引入4.5.0 版本依赖-->
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.0</version>
    </dependency>

    这里aliyun-oss-spring-boot-starter中默认引入的 aliyun-java-sdk-core 是 3.4.0 版本,但是 aliyun-spring-boot-dependencies 中对 aliyun-java-sdk-core 版本管理为:4.5.0,会导致版本冲突

    所以排除 aliyun-oss-spring-boot-starter 默认的 aliyun-java-sdk-core ,单独引入 4.5.0 版本的 aliyun-java-sdk-core

    如果提示aliyun-oss-spring-boot-starter版本不能为空就加上依赖管理:

    xml 复制代码
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>aliyun-spring-boot-dependencies</artifactId>
                <version>1.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
  2. 在 gulimall-product 的配置文件中加上

    yaml 复制代码
    alibaba:
      cloud:
        access-key: your-access-key
        secret-key: your-secret-key
        oss:
          endpoint: your-endpoint
  3. 测试

    java 复制代码
    @SpringBootTest
    class GulimallProductApplicationTests {
    
        @Autowired
        OSSClient ossClient;
    
        @Test
        void testUpload() throws IOException {
    
            String bucketName = "gulimall-xxx";
            InputStream inputStream = Files.newInputStream(Paths.get("D:\\sources\\zip\\Guli Mall\\分布式基础\\资源\\pics\\0d40c24b264aa511.jpg"));
    
            ossClient.putObject(bucketName, "test.jpg", inputStream);
    
            System.out.println("上传成功!");
        }
    
    }
相关推荐
_Aaron___16 分钟前
Spring AI 接入 MCP:工具调用不是“能调就行”,关键是边界治理
java·人工智能·spring
向量引擎30 分钟前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
LJianK131 分钟前
普通接口,用到getter和setter方法的地方,jackson转换
java
辰海Coding34 分钟前
MiniSpring框架学习-分解 Dispatcher
java·学习·spring·架构
AI人工智能+电脑小能手38 分钟前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试
小江的记录本1 小时前
【JVM虚拟机】JVM调优:常用JVM参数、调优核心指标、OOM排查、GC日志分析、Arthas工具使用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
金銀銅鐵1 小时前
[Java] 用图形化界面演示 iadd, isub, iconst_<i> 指令的效果
java·后端·python
J2虾虾1 小时前
Spring AI Alibaba文档
java·人工智能·spring
YikNjy1 小时前
break和continue
java·开发语言·算法
SomeOtherTime1 小时前
Geojson相关(AI回答)
java·前端·python