v380云存储怎么使用_初步使用阿里云OSS对象存储功能

  1. 在使用之前先了解上传文件/图片的过程,首先我觉得使用阿里云对象存储功能可以分为三种方式上传到阿里云OSS中;

    1)、第一种方案就是:浏览器把文件传到自己的程序中,通过Java代码去给阿里云OSS服务器上传文件;考虑到这样操作的话会影响到其他功能的卡顿,因为IO是很占用带宽的,所以第一种方案暂不采用;

    2)、第二种方案就是浏览器直接将文件传给阿里云的OSS中,但是这样做的话是有风险的,容易把阿里云OSS的账号密码泄露掉,毕竟账号密码要写到浏览器上,所以这种方案也不采用!

    3)、最后一种方案就是:阿里云OSS的账号密码还是写到后端,浏览器先去自己的程序中拿到后台编写好的防伪码(泛指一个假数据),拿到之后再次通过浏览器去上传到阿里云OSS中,阿里云OSS成功对比这个防伪码成功即可成功上传文件/图片。

  2. 接下来开始在程序中安装(第2,3,4,5,6是上面所说的第一种方案)

导入oss的相关依赖

 <dependency>            <groupId>com.aliyun.ossgroupId>            <artifactId>aliyun-sdk-ossartifactId>            <version>3.10.2version>dependency>

3.示例代码

// Endpoint以杭州为例,其它Region请按实际情况填写。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。String accessKeyId = "";String accessKeySecret = "";// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 上传文件流。InputStream inputStream = new FileInputStream("");ossClient.putObject("", "", inputStream);// 关闭OSSClient。ossClient.shutdown();

4.也可以导入

<dependency>    <groupId>com.alibaba.cloudgroupId>    <artifactId>spring-cloud-starter-alicloud-ossartifactId>    <version>2.2.0.RELEASEversion>dependency>

5.yml配置oss并且注入

spring:  cloud:    #阿里云OSS云存储    alicloud:      access-key:       secret-key:       oss:        endpoint: http://oss-cn-hangzhou.aliyuncs.com
@AutowiredOSSClient ossClient;

6.接下来测试

InputStream inputStream = new FileInputStream("");ossClient.putObject("", "", inputStream);// 关闭OSSClient。ossClient.shutdown();

8.接下来考虑到后期需要调用多个第三方接口,在这SpringCloud中在加入一个模块“dadamall-third-party”首先在pom.xml引入公共模块的jar,然后加入SpringCloudAlibaba的一系列jar

     <dependencies>        <dependency>            <groupId>com.atdada.dadamallgroupId>            <artifactId>dadamall-commonsartifactId>            <version>0.0.1-SNAPSHOTversion>        dependency>         <dependency>            <groupId>com.alibaba.cloudgroupId>            <artifactId>spring-cloud-starter-alicloud-ossartifactId>            <version>2.2.0.RELEASEversion>        dependency>    dependencies><dependencyManagement>        <dependencies>                <dependency>                    <groupId>com.alibaba.cloudgroupId>                    <artifactId>spring-cloud-alibaba-dependenciesartifactId>                    <version>2.2.3.RELEASEversion>                    <type>pomtype>                    <scope>importscope>                dependency>        dependencies>    dependencyManagement>

接下来就给这个新的模块配置nacos中,怎么配置呢,首先创建bootstrap.properties这个文件,在nacos的命名空间中添加一个关于这个模块的名字,然后去配置列表找到这个名字,拿到namespace,它是一串类似ID的东西。

spring.application.name=dadamall-third-partyspring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.namespace=******************************

然后点新建配置

8b9bfd592ba3ee9b6be14f8bd2ad8da7.png

配置成功之后在bootstrap.properties文件中开始引用

spring.cloud.nacos.config.ext-config[0].data-id=oss.ymlspring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUPspring.cloud.nacos.config.ext-config[0].refresh=true

然后配置上这个模块的注册服务到nacos中,新建一个application.yml

spring:  cloud:    nacos:      discovery:        server-addr: 127.0.0.1:8848  application:    name: dadamall-third-party

考虑到在pom.xml文件中引入了公共的模块,然而公共的模块中有myabatisplus的jsr,暂时我们先不用,这时候就可以先排除掉

        <dependency>            <groupId>com.atdada.dadamallgroupId>            <artifactId>dadamall-commonsartifactId>            <version>0.0.1-SNAPSHOTversion>            <exclusions>                <exclusion>                    <groupId>com.baomidougroupId>                    <artifactId>mybatis-plus-boot-starterartifactId>                exclusion>            exclusions>        dependency>

切记切记!!你以为就这样就能正确配置和注册到nacos了吗?脑子呢???!!!一定要在模块的启动类上加@EDC这个注解啊(开启服务的注册和发现)!说了多少遍了,,,不能忘记~~~

以上是我的个人笔记,探索未知密宝,记录学习笔记,分享有趣的故事,欢迎大家来访!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值