阿里云对象存储OSS+SpringCloud alibaba
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,结果