接入阿里云OSS

前提是注册阿里云账号,开通OSS服务,最好创建子账户AccessKey,并为其添加响应oss管理权限。

了解OSS基本术语:

 ​​​​​​基本概念 - 对象存储 OSS - 阿里云z

在使用前我们必须先创建Bucket:

只是学习使用一两次的,存储类型可以 低频访问存储。计费案例:

计费案例 - 对象存储 OSS - 阿里云

 方式一:

直接参考阿里文档接入oss sdk依赖

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

参考地址:安装 - 对象存储 OSS - 阿里云https://help.aliyun.com/document_detail/32009.html

参考官网文件上传demo,如下图,将之前创建的子账户accessKeysId和accessKeySecret以及创建Bucket对应的名称(bucketName)和Endpoint带入其中,然后设置想要上传上去后的在oss上展示的文件名称和路径(objectName包含路径和文件名),最后替换掉想要上传的文件的路径(filePath)就可以了

 地址:如何使用流式上传和文件上传方式上传文件_对象存储 OSS-阿里云

然后执行代码,如果顺利的话应该会在对应的bucket下看到你上传的文件了。

方式二:

接入springcloud依赖

<dependencies>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2021.0.1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.yml配置oss配置:

spring:
  cloud:
    alicloud:
      access-key: nideaccesskyeid
      secret-key: youraccesssecret
      oss:
        endpoint: oss-cn-beijing.aliyuncs.com

编写测试代码:

    //自动注入
    @Autowired
    OSSClient ossClient;

    @Test
    public void testOss(){
        String filePath= "C:\\Users\\abc\\Desktop\\quan.jpg";
        try {
            InputStream inputStream = new FileInputStream(filePath);
            // 创建PutObject请求。
            ossClient.putObject("bucketname", "test/quan.jpg", inputStream);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        System.out.println("上传完成");
    }

不出意外的话也应该会在相应的Bucket下看到上传的文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值