OSS使用

方法一:使用原生OSS上传服务

1.引依赖

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

2.编码

        // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
        String endpoint = "外网访问路径";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessKeyId = "子用户id";
        String accessKeySecret = "子用户secret";
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        InputStream inputStream = new FileInputStream("需要上传的本地文件路径");
        // 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。
        ossClient.putObject("bucket_name", "上传后文件名", inputStream);
        // 关闭OSSClient。
        ossClient.shutdown();
        System.out.println("文件上传成功");

方法二:使用Spring Cloud Alibaba再封装的OSS服务

引依赖管理

    <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>

引依赖

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

application.yml中配置(不同版本的SpringCloudAlibaba在此处配置有些区别)

spring:
  cloud:
    alicloud:
      access-key: LTAI4G7LssKGKBNcgycxRT4n
      secret-key: N4RhT4jtGKNPMf9CdmcVDb808jReoP
      oss:
        endpoint: https://oss-cn-beijing.aliyuncs.com

编码

    @Autowired
    private OSSClient ossClient;

    @Test
    public void testUpload() throws FileNotFoundException {
        //上传文件流
        InputStream inputStream = new FileInputStream("需要上传的本地文件路径");
        ossClient.putObject("bucket_name", "上传后的文件名", inputStream);
        System.out.println("文件上传成功");

    }

 

上一篇:php – 在Woocommerce中为每3件物品的统一运费添加额外费用


下一篇:如何获得用于Sony Xperia ZR的Android内核开发的mkbootimg?