首页 > 技术文章 > 阿里云对象存储OSS+SpringCloud alibaba

mangoubiubiu 2021-01-17 12:11 原文

1,引入依赖

一丶踩官方的坑

官方示例是引入下面这个

 

 引入后会报找不到这个jar 异常。

 引入下面这个才可以

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
        </dependency>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2,yml配置(集成了Nacos)

一丶application.yml

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: 你的模块名
server:
  port: 30000

二丶bootstrap.properties

#服务注册
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#命名空间id
spring.cloud.nacos.config.namespace=85f25633-fbef-4144-bdd2-2e265d3a217f
#对象存储oss配置
文件名
spring.cloud.nacos.config.ext-config[0].data-id=oss.yml
#组名
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
#动态刷新
spring.cloud.nacos.config.ext-config[0].refresh=true

三丶oss.yml

spring:
  cloud:
    alicloud:
      access-key: 你的access-key
      secret-key: 你的secret-key
      oss:
        endpoint: 你的endpoint
        bucket: 你的bucket

 

3,测试用例

package com.atguigu.gulimall.thirdparty;

import com.aliyun.oss.OSSClient;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

@RunWith(SpringRunner.class)
@SpringBootTest
public class GulimallThirdPartyApplicationTests  {

    @Autowired
    OSSClient ossClient;

    @Test
   public void contextLoads() throws FileNotFoundException {
        InputStream stream=new FileInputStream("C:\\Users\\86138\\Desktop\\girl\\avatar2.jpg");

        ossClient.putObject("gulimall-mangoubiubiu","清野菜名.jpg",stream);
        //关闭OSSclient
        ossClient.shutdown();
        System.out.println("上传完成。。。。。。");
    }

}

4,结果

 

推荐阅读