阿里云 OSS 对象存储

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

登录阿里云

登录 阿里云

开通 OSS 服务

进入 对象存储 OSS
在这里插入图片描述

开通对象存储服务
在这里插入图片描述

创建用户

打开 RAM 访问控制
在这里插入图片描述

在这里插入图片描述

1
2
3
用户登录名称 taopanfeng@1271163326774052.onaliyun.com
AccessKey ID LTAI4G4uKbRq3VhptkMU2ccj
AccessKey Secret 3O6LC8bEM95UUHb4BFWcFYXz4iW2g5

在这里插入图片描述

添加权限

在这里插入图片描述
在这里插入图片描述

创建 Bucket

在这里插入图片描述

打开帮助文档

打开 阿里云-帮助文档

在这里插入图片描述
在这里插入图片描述

JDK 操作

1、导入 maven

1
2
3
4
5
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>

2、操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.taopanfeng;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;

import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.net.HttpURLConnection;
import java.net.URL;

/**
* 描述
*
* @author 陶攀峰
* @version 1.0
* @date 2021-02-26 15:23
*/
public class MyTest {

//2021-02-26 15:23
public static void main(String[] args) throws Exception {
/*
bucketName 参考:https://oss.console.aliyun.com/bucket
endpoint :同上,点进去 bucketName 即可查看
accessKeyId、accessKeySecret:参考(记得创建用户,添加可读可写OSS权限):https://ram.console.aliyun.com/users
objectName:你要保存到 OSS 的文件名,多层路径会自动创建目录
ossClient.putObject 参数 3 : 可跟 File,或 InputStream
*/


// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "oss-cn-shanghai.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
String accessKeyId = "LTAI4G4uKbRq3VhptkMU2ccj";
String accessKeySecret = "3O6LC8bEM95UUHb4BFWcFYXz4iW2g5";
String bucketName = "taopanfeng";
// <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
String objectName = "";

// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// 上传文件到指定的存储空间(bucketName)并将其保存为指定的文件名称(objectName)。

// 1、网络图片地址 -> OSS(重命名) 【objectName 同名会覆盖】
//objectName = "连姆尼森.jpg";
//ossClient.putObject(bucketName, objectName, new URL("https://img-blog.csdnimg.cn/20210226154743408.jpg").openConnection().getInputStream());


// 2、同上,但会创建 “头像” 目录
//objectName = "头像/连姆尼森2.jpg";
//ossClient.putObject(bucketName, objectName, new URL("https://img-blog.csdnimg.cn/20210226154743408.jpg").openConnection().getInputStream());

// 关闭OSSClient。
ossClient.shutdown();

// 上传后的图片地址
String path = "https://" + bucketName + "." + endpoint + "/" + objectName;
System.out.println(path);// https://taopanfeng.oss-cn-shanghai.aliyuncs.com/头像/连姆尼森2.jpg
// https://taopanfeng.oss-cn-shanghai.aliyuncs.com/%E5%A4%B4%E5%83%8F/%E8%BF%9E%E5%A7%86%E5%B0%BC%E6%A3%AE2.jpg
}

}

上传效果

在这里插入图片描述