阿里云对象存储使用指南

1.服务介绍

海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

1.1产品优势

1.2产品功能

2. 创建对象存储空间

2.1创建阿里云账号

https://www.aliyun.com/1111/new?userCode=vz8lhqdd

2.2开通对象存储服务

https://www.aliyun.com/product/oss

3.上传文件测试

3.1 官网提供SDK开发包
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>
3.2使用SDK测试上传文件
//初始化OSS
@Bean
public OSS oss(){
    return new OSSClientBuilder().build(OssAC.ENDPOINT,OssAC.ACCESSKEY_ID, OssAC.ACCESSKEY_SECRET);
}
package com.huiminpay.merchant.config;

public class OssAC {
    public static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com";
    public static final String BUCKET = "xwh0330";
    public static final String DOMAIN = "https://xwh0330.oss-cn-beijing.aliyuncs.com/";
    public static final String ACCESSKEY_ID = "LTAI5tAF*****3iiKHJJZ";
    public static final String ACCESSKEY_SECRET = "lgDEqGHEs*****vtKhkITFO";
}
@ApiOperation("测试")
@PostMapping("/upload2")
public String upload2(@RequestParam("file") MultipartFile multipartFile){
    try {
        InputStream inputStream = multipartFile.getInputStream();
        //获取上传文件名称
        String fullename =multipartFile.getOriginalFilename();
        //截取文件扩展名
        String ext = fullename.substring(fullename.lastIndexOf("."));
        //自定义文件名称
        String fileName = System.currentTimeMillis()+ext;
        // 组合阿里云OSS上传参数  依次为 存储空间名,文件名(可以包括文件夹),文件流
        // 注意对象存储没有文件夹概念,如果要区分文件可以再文件名加/  eg:/2021/04/16/202111222555.png
        PutObjectRequest putObjectRequest = new PutObjectRequest(OosAC.BUCKET,fileName,inputStream);
        // 上传
        oss.putObject(putObjectRequest);
        return OosAC.DOMAIN+fileName;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}